home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1993-09-26 | 66.5 KB | [ STAK/WILD]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
You can browse this item here: Colorizing HC XCMD
Confidence Program Detection Match Type Support
100%
dexvert
HyperCard Stack (archive/hypercard)
idMeta
Supported
10%
dexvert
MacBinary (archive/macBinary)
fallback
Supported
100%
file
MacBinary II, inited, Thu May 7 13:24:36 1992, modified Sun Sep 26 18:05:55 1993, creator HyperCard, type HyperCard stack, 43488 bytes "Colorizing HC XCMD" , at 0xaa60 24440 bytes resource
default (weak)
99%
file
data
default
74%
TrID
Mac HyperCard stack (MacBinary)
default
25%
TrID
MacBinary 2
default (weak)
100%
lsar
MacBinary
default
id metadata key value macFileType [ STAK] macFileCreator [ WILD]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 12 43 6f 6c 6f 72 69 | 7a 69 6e 67 20 48 43 20 |..Colori|zing HC | |00000010| 58 43 4d 44 00 00 00 00 | 00 00 00 00 00 00 00 00 |XCMD....|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 53 54 41 4b 57 49 4c | 44 01 00 00 00 00 00 00 |.STAKWIL|D.......| |00000050| 00 00 00 00 00 a9 e0 00 | 00 5f 78 a6 2f 18 54 a8 |........|._x./.T.| |00000060| cb c2 c3 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 3f f3 00 00 |........|....?...| |00000080| 00 00 70 00 53 54 41 4b | ff ff ff ff 00 00 00 00 |..p.STAK|........| |00000090| 00 00 00 0a 00 00 a9 e0 | 00 00 70 00 00 00 00 00 |........|..p.....| |000000a0| 00 00 00 00 00 00 00 02 | 00 00 0a 1c 00 00 00 02 |........|........| |000000b0| 00 00 0b 52 00 00 08 a1 | 00 00 00 00 00 00 00 00 |...R....|........| |000000c0| 00 00 10 2a 00 00 00 00 | 00 01 00 00 d0 00 00 00 |...*....|........| |000000d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000000e0| 02 10 80 00 02 10 80 00 | 02 10 80 00 02 10 80 00 |........|........| |000000f0| 1e 73 84 0e 00 00 00 00 | 00 2e 00 40 01 84 02 40 |.s......|...@...@| |00000100| 00 00 00 00 01 90 02 80 | 00 00 00 00 00 00 00 00 |........|........| |00000110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000001a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000001b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000001c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000001f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000200| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000230| 00 00 0d bf 00 00 0c fc | 01 56 02 00 00 00 00 00 |........|.V......| |00000240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000280| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000290| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000002a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000002b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000002c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000002d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000002e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000002f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000300| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000320| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000340| 00 00 00 00 00 00 00 00 | 80 00 00 00 08 00 00 00 |........|........| |00000350| 88 00 22 00 88 00 22 00 | 88 88 22 22 88 88 22 22 |.."...".|..""..""| |00000360| 88 aa 22 aa 88 aa 22 aa | cc aa 33 aa cc aa 33 aa |.."...".|..3...3.| |00000370| ee aa bb aa ee aa bb aa | ee bb bb ee ee bb bb ee |........|........| |00000380| ff bb ff ee ff bb ff ee | ff bb ff ff ff bb ff ff |........|........| |00000390| 80 10 02 20 01 08 40 04 | ff ff ff ff ff ff ff ff |... ..@.|........| |000003a0| 88 22 88 22 88 22 88 22 | 11 22 44 88 11 22 44 88 |."."."."|."D.."D.| |000003b0| c4 80 0c 68 43 02 30 26 | b1 30 03 1b d8 c0 0c 8d |...hC.0&|.0......| |000003c0| aa 00 aa 00 aa 00 aa 00 | 88 22 55 22 88 22 55 22 |........|."U"."U"| |000003d0| 88 55 22 55 88 55 22 55 | 77 dd 77 dd 77 dd 77 dd |.U"U.U"U|w.w.w.w.| |000003e0| 80 00 00 00 00 00 00 00 | aa 55 aa 55 aa 55 aa 55 |........|.U.U.U.U| |000003f0| 03 84 48 30 0c 02 01 01 | 82 44 39 44 82 01 01 01 |..H0....|.D9D....| |00000400| 88 14 22 41 88 41 22 14 | 80 80 41 3e 08 08 14 e3 |.."A.A".|..A>....| |00000410| 22 04 8c 74 22 17 98 10 | be 80 88 08 eb 08 88 80 |"..t"...|........| |00000420| 25 c8 32 89 64 24 4c 92 | a2 9c 41 be 2a c9 14 eb |%.2.d$L.|..A.*...| |00000430| 40 a0 00 00 04 0a 00 00 | 80 40 20 00 02 04 08 00 |@.......|.@ .....| |00000440| aa 00 80 00 88 00 80 00 | ff 80 80 80 80 80 80 80 |........|........| |00000450| 08 1c 22 c1 80 01 02 04 | ff 80 80 80 ff 08 08 08 |..".....|........| |00000460| f8 74 22 47 8f 17 22 71 | bf 00 bf bf b0 b0 b0 b0 |.t"G.."q|........| |00000470| ff 7f be 5d a2 41 80 00 | fa f5 fa f5 a0 50 a0 50 |...].A..|.....P.P| |00000480| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000490| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000004a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000004b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000004c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000004d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000004e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000004f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000500| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000520| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000005a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000005b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000005c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000005d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000005e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000005f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000600| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000610| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000620| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000630| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000640| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000650| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000670| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000680| 2d 2d 20 70 72 69 76 61 | 74 65 0d 0d 6f 6e 20 63 |-- priva|te..on c| |00000690| 48 43 69 6e 73 74 61 6c | 6c 20 64 65 70 74 68 0d |HCinstal|l depth.| |000006a0| 67 6c 6f 62 61 6c 20 67 | 48 43 77 68 69 74 65 2c |global g|HCwhite,| |000006b0| 20 67 48 43 62 6c 61 63 | 6b 2c 20 67 48 43 6d 61 | gHCblac|k, gHCma| |000006c0| 78 43 6f 6c 6f 72 0d 73 | 65 74 20 63 75 72 73 6f |xColor.s|et curso| |000006d0| 72 20 74 6f 20 62 75 73 | 79 0d 69 66 20 63 68 65 |r to bus|y.if che| |000006e0| 63 6b 45 6e 76 69 72 6f | 6e 28 64 65 70 74 68 29 |ckEnviro|n(depth)| |000006f0| 20 ad 20 22 4f 4b 22 20 | 74 68 65 6e 0d 67 6f 20 | . "OK" |then.go | |00000700| 48 6f 6d 65 0d 67 65 74 | 48 6f 6d 65 49 6e 66 6f |Home.get|HomeInfo| |00000710| 0d 65 78 69 74 20 74 6f | 20 48 79 70 65 72 43 61 |.exit to| HyperCa| |00000720| 72 64 0d 65 6e 64 20 69 | 66 0d 70 75 74 20 22 30 |rd.end i|f.put "0| |00000730| 2c 30 2c 30 22 20 69 6e | 74 6f 20 67 48 43 62 6c |,0,0" in|to gHCbl| |00000740| 61 63 6b 0d 70 75 74 20 | 22 36 35 35 33 35 2c 36 |ack.put |"65535,6| |00000750| 35 35 33 35 2c 36 35 35 | 33 35 22 20 69 6e 74 6f |5535,655|35" into| |00000760| 20 67 48 43 77 68 69 74 | 65 0d 70 75 74 20 36 35 | gHCwhit|e.put 65| |00000770| 35 33 35 20 69 6e 74 6f | 20 67 48 43 6d 61 78 43 |535 into| gHCmaxC| |00000780| 6f 6c 6f 72 0d 65 6e 64 | 20 63 48 43 69 6e 73 74 |olor.end| cHCinst| |00000790| 61 6c 6c 0d 0d 66 75 6e | 63 74 69 6f 6e 20 63 68 |all..fun|ction ch| |000007a0| 65 63 6b 45 6e 76 69 72 | 6f 6e 20 54 68 65 44 65 |eckEnvir|on TheDe| |000007b0| 70 74 68 0d 2d 2d 20 54 | 68 65 20 68 65 61 70 73 |pth.-- T|he heaps| |000007c0| 70 61 63 65 20 72 65 71 | 75 69 72 65 6d 65 6e 74 |pace req|uirement| |000007d0| 73 20 76 61 72 79 20 64 | 65 70 65 6e 64 69 6e 67 |s vary d|epending| |000007e0| 20 6f 6e 20 79 6f 75 72 | 20 73 74 61 63 6b 0d 67 | on your| stack.g| |000007f0| 6c 6f 62 61 6c 20 67 48 | 43 6d 61 78 44 65 70 74 |lobal gH|CmaxDept| |00000800| 68 0d 69 66 20 54 68 65 | 44 65 70 74 68 20 3d 20 |h.if The|Depth = | |00000810| 65 6d 70 74 79 20 74 68 | 65 6e 20 70 75 74 20 67 |empty th|en put g| |00000820| 48 43 6d 61 78 44 65 70 | 74 68 20 69 6e 74 6f 20 |HCmaxDep|th into | |00000830| 54 68 65 44 65 70 74 68 | 0d 65 6c 73 65 20 70 75 |TheDepth|.else pu| |00000840| 74 20 4d 69 6e 20 28 67 | 48 43 6d 61 78 44 65 70 |t Min (g|HCmaxDep| |00000850| 74 68 2c 54 68 65 44 65 | 70 74 68 29 20 69 6e 74 |th,TheDe|pth) int| |00000860| 6f 20 54 68 65 44 65 70 | 74 68 0d 70 75 74 20 74 |o TheDep|th.put t| |00000870| 68 65 20 68 65 61 70 53 | 70 61 63 65 20 69 6e 74 |he heapS|pace int| |00000880| 6f 20 54 68 65 48 65 61 | 70 53 70 61 63 65 0d 70 |o TheHea|pSpace.p| |00000890| 75 74 20 65 6d 70 74 79 | 20 69 6e 74 6f 20 6f 6e |ut empty| into on| |000008a0| 63 65 0d 72 65 70 65 61 | 74 20 77 68 69 6c 65 20 |ce.repea|t while | |000008b0| 54 68 65 44 65 70 74 68 | 20 b3 20 34 20 6f 72 20 |TheDepth| . 4 or | |000008c0| 6f 6e 63 65 20 3d 20 65 | 6d 70 74 79 0d 70 75 74 |once = e|mpty.put| |000008d0| 20 32 2a 54 68 65 44 65 | 70 74 68 2a 28 77 69 64 | 2*TheDe|pth*(wid| |000008e0| 74 68 20 6f 66 20 74 68 | 69 73 20 63 64 20 2a 20 |th of th|is cd * | |000008f0| 68 65 69 67 68 74 20 6f | 66 20 74 68 69 73 20 63 |height o|f this c| |00000900| 64 29 20 44 49 56 20 38 | c2 0d 2b 20 33 35 30 30 |d) DIV 8|..+ 3500| |00000910| 30 20 69 6e 74 6f 20 52 | 65 71 53 69 7a 65 0d 69 |0 into R|eqSize.i| |00000920| 66 20 54 68 65 48 65 61 | 70 53 70 61 63 65 20 3c |f TheHea|pSpace <| |00000930| 20 52 65 71 53 69 7a 65 | 20 74 68 65 6e 0d 69 66 | ReqSize| then.if| |00000940| 20 6f 6e 63 65 20 3d 20 | 65 6d 70 74 79 20 74 68 | once = |empty th| |00000950| 65 6e 0d 65 72 72 4d 65 | 6d 6f 72 79 20 54 68 65 |en.errMe|mory The| |00000960| 44 65 70 74 68 2c 52 65 | 71 53 69 7a 65 0d 65 6e |Depth,Re|qSize.en| |00000970| 64 20 69 66 0d 65 6c 73 | 65 0d 69 66 20 6f 6e 63 |d if.els|e.if onc| |00000980| 65 20 ad 20 65 6d 70 74 | 79 0d 74 68 65 6e 20 69 |e . empt|y.then i| |00000990| 66 20 6e 6f 74 20 77 61 | 72 6e 44 65 70 74 68 28 |f not wa|rnDepth(| |000009a0| 54 68 65 44 65 70 74 68 | 29 20 74 68 65 6e 20 72 |TheDepth|) then r| |000009b0| 65 74 75 72 6e 20 65 6d | 70 74 79 0d 69 66 20 54 |eturn em|pty.if T| |000009c0| 68 65 44 65 70 74 68 20 | 3c 20 34 20 74 68 65 6e |heDepth |< 4 then| |000009d0| 20 65 72 72 42 69 74 44 | 65 70 74 68 0d 69 66 20 | errBitD|epth.if | |000009e0| 54 68 65 48 65 61 70 53 | 70 61 63 65 20 3c 20 52 |TheHeapS|pace < R| |000009f0| 65 71 53 69 7a 65 2b 39 | 32 31 36 30 20 2d 2d 20 |eqSize+9|2160 -- | |00000a00| 63 68 65 63 6b 20 66 6f | 72 20 39 30 4b 20 65 78 |check fo|r 90K ex| |00000a10| 74 72 61 0d 74 68 65 6e | 20 65 72 72 4d 65 6d 6f |tra.then| errMemo| |00000a20| 72 79 20 54 68 65 44 65 | 70 74 68 2c 52 65 71 53 |ry TheDe|pth,ReqS| |00000a30| 69 7a 65 2c 54 72 75 65 | 0d 69 66 20 73 74 61 63 |ize,True|.if stac| |00000a40| 6b 41 63 74 69 76 61 74 | 65 28 54 68 65 44 65 70 |kActivat|e(TheDep| |00000a50| 74 68 29 20 ad 20 65 6d | 70 74 79 0d 74 68 65 6e |th) . em|pty.then| |00000a60| 20 65 72 72 43 6f 6c 6f | 72 0d 72 65 74 75 72 6e | errColo|r.return| |00000a70| 20 22 4f 4b 22 20 2d 2d | 20 65 76 65 6e 20 69 66 | "OK" --| even if| |00000a80| 20 65 72 72 6f 72 0d 65 | 6e 64 20 69 66 0d 70 75 | error.e|nd if.pu| |00000a90| 74 20 54 72 75 65 20 69 | 6e 74 6f 20 6f 6e 63 65 |t True i|nto once| |00000aa0| 0d 70 75 74 20 70 72 65 | 76 44 65 70 74 68 28 54 |.put pre|vDepth(T| |00000ab0| 68 65 44 65 70 74 68 29 | 20 69 6e 74 6f 20 54 68 |heDepth)| into Th| |00000ac0| 65 44 65 70 74 68 0d 65 | 6e 64 20 72 65 70 65 61 |eDepth.e|nd repea| |00000ad0| 74 0d 65 6e 64 20 63 68 | 65 63 6b 45 6e 76 69 72 |t.end ch|eckEnvir| |00000ae0| 6f 6e 0d 0d 66 75 6e 63 | 74 69 6f 6e 20 70 72 65 |on..func|tion pre| |00000af0| 76 44 65 70 74 68 20 64 | 65 70 74 68 0d 2d 2d 20 |vDepth d|epth.-- | |00000b00| 6b 6e 6f 77 6e 20 73 63 | 72 65 65 6e 20 64 65 70 |known sc|reen dep| |00000b10| 74 68 73 0d 69 66 20 64 | 65 70 74 68 20 3e 20 32 |ths.if d|epth > 2| |00000b20| 34 20 74 68 65 6e 20 72 | 65 74 75 72 6e 20 32 34 |4 then r|eturn 24| |00000b30| 0d 69 66 20 64 65 70 74 | 68 20 3e 20 31 36 20 74 |.if dept|h > 16 t| |00000b40| 68 65 6e 20 72 65 74 75 | 72 6e 20 31 36 0d 69 66 |hen retu|rn 16.if| |00000b50| 20 64 65 70 74 68 20 3e | 20 38 20 74 68 65 6e 20 | depth >| 8 then | |00000b60| 72 65 74 75 72 6e 20 38 | 0d 69 66 20 64 65 70 74 |return 8|.if dept| |00000b70| 68 20 3e 20 34 20 74 68 | 65 6e 20 72 65 74 75 72 |h > 4 th|en retur| |00000b80| 6e 20 34 0d 72 65 74 75 | 72 6e 20 31 0d 65 6e 64 |n 4.retu|rn 1.end| |00000b90| 20 70 72 65 76 44 65 70 | 74 68 0d 0d 6f 6e 20 65 | prevDep|th..on e| |00000ba0| 72 72 4d 65 6d 6f 72 79 | 20 54 68 65 44 65 70 74 |rrMemory| TheDept| |00000bb0| 68 2c 50 61 72 74 69 74 | 69 6f 6e 53 69 7a 65 2c |h,Partit|ionSize,| |00000bc0| 53 6f 66 74 0d 70 75 74 | 20 74 68 65 20 73 68 6f |Soft.put| the sho| |00000bd0| 72 74 20 6e 61 6d 65 20 | 6f 66 20 48 79 70 65 72 |rt name |of Hyper| |00000be0| 43 61 72 64 20 69 6e 74 | 6f 20 54 68 65 48 79 70 |Card int|o TheHyp| |00000bf0| 65 72 43 61 72 64 0d 69 | 66 20 73 6f 66 74 20 ad |erCard.i|f soft .| |00000c00| 20 65 6d 70 74 79 20 74 | 68 65 6e 0d 61 6e 73 77 | empty t|hen.answ| |00000c10| 65 72 20 22 4d 65 6d 6f | 72 79 20 69 73 20 6c 6f |er "Memo|ry is lo| |00000c20| 77 2e 20 53 6f 6d 65 20 | 6f 70 65 72 61 74 69 6f |w. Some |operatio| |00000c30| 6e 73 20 6d 61 79 20 6e | 6f 74 20 77 6f 72 6b 2e |ns may n|ot work.| |00000c40| 22 20 26 26 c2 0d 22 59 | 6f 75 20 73 68 6f 75 6c |" &&.."Y|ou shoul| |00000c50| 64 20 69 6e 63 72 65 61 | 73 65 20 74 68 65 20 6d |d increa|se the m| |00000c60| 65 6d 6f 72 79 20 73 69 | 7a 65 20 6f 66 22 20 26 |emory si|ze of" &| |00000c70| 26 20 54 68 65 48 79 70 | 65 72 43 61 72 64 20 26 |& TheHyp|erCard &| |00000c80| 26 c2 0d 22 62 79 20 61 | 74 20 6c 65 61 73 74 20 |&.."by a|t least | |00000c90| 39 30 4b 2e 22 0d 65 6c | 73 65 0d 70 75 74 20 28 |90K.".el|se.put (| |00000ca0| 50 61 72 74 69 74 69 6f | 6e 53 69 7a 65 20 44 49 |Partitio|nSize DI| |00000cb0| 56 20 31 30 32 34 29 20 | 26 20 22 4b 22 20 69 6e |V 1024) |& "K" in| |00000cc0| 74 6f 20 50 61 72 74 69 | 74 69 6f 6e 53 69 7a 65 |to Parti|tionSize| |00000cd0| 0d 70 75 74 20 28 74 68 | 65 20 68 65 61 70 53 70 |.put (th|e heapSp| |00000ce0| 61 63 65 20 44 49 56 20 | 31 30 32 34 29 20 26 20 |ace DIV |1024) & | |00000cf0| 22 4b 22 20 69 6e 74 6f | 20 68 65 61 70 53 69 7a |"K" into| heapSiz| |00000d00| 65 0d 61 6e 73 77 65 72 | 20 50 61 72 74 69 74 69 |e.answer| Partiti| |00000d10| 6f 6e 53 69 7a 65 20 26 | 26 20 22 65 78 74 72 61 |onSize &|& "extra| |00000d20| 20 6d 65 6d 6f 72 79 20 | 69 73 20 72 65 71 75 69 | memory |is requi| |00000d30| 72 65 64 20 74 6f 20 72 | 75 6e 20 d2 22 20 26 c2 |red to r|un ." &.| |00000d40| 0d 74 68 65 20 73 68 6f | 72 74 20 6e 61 6d 65 20 |.the sho|rt name | |00000d50| 6f 66 20 74 68 69 73 20 | 73 74 61 63 6b 20 26 20 |of this |stack & | |00000d60| 22 d3 20 69 6e 22 20 26 | 26 20 54 68 65 44 65 70 |". in" &|& TheDep| |00000d70| 74 68 20 26 20 c2 0d 22 | 62 69 74 20 6d 6f 64 65 |th & .."|bit mode| |00000d80| 2c 20 62 75 74 20 6f 6e | 6c 79 22 20 26 26 20 68 |, but on|ly" && h| |00000d90| 65 61 70 53 69 7a 65 20 | 26 26 20 22 69 73 20 63 |eapSize |&& "is c| |00000da0| 75 72 72 65 6e 74 6c 79 | 20 73 70 61 72 65 2e 22 |urrently| spare."| |00000db0| 20 26 26 c2 0d 22 49 6e | 63 72 65 61 73 65 20 74 | &&.."In|crease t| |00000dc0| 68 65 20 6d 65 6d 6f 72 | 79 20 73 69 7a 65 20 6f |he memor|y size o| |00000dd0| 66 22 20 26 26 20 54 68 | 65 48 79 70 65 72 43 61 |f" && Th|eHyperCa| |00000de0| 72 64 20 26 20 22 2e 22 | 0d 65 6e 64 20 69 66 0d |rd & "."|.end if.| |00000df0| 65 6e 64 20 65 72 72 4d | 65 6d 6f 72 79 0d 0d 66 |end errM|emory..f| |00000e00| 75 6e 63 74 69 6f 6e 20 | 77 61 72 6e 44 65 70 74 |unction |warnDept| |00000e10| 68 20 64 65 70 74 68 0d | 61 6e 73 77 65 72 20 22 |h depth.|answer "| |00000e20| 44 6f 20 79 6f 75 20 77 | 61 6e 74 20 74 6f 20 63 |Do you w|ant to c| |00000e30| 6f 6e 74 69 6e 75 65 20 | 69 6e 22 20 26 26 20 64 |ontinue |in" && d| |00000e40| 65 70 74 68 20 26 20 22 | 62 69 74 20 6d 6f 64 65 |epth & "|bit mode| |00000e50| 3f 22 c2 0d 77 69 74 68 | 20 22 4e 6f 22 20 6f 72 |?"..with| "No" or| |00000e60| 20 22 59 65 73 22 0d 72 | 65 74 75 72 6e 20 69 74 | "Yes".r|eturn it| |00000e70| 20 3d 20 22 59 65 73 22 | 0d 65 6e 64 20 77 61 72 | = "Yes"|.end war| |00000e80| 6e 44 65 70 74 68 0d 0d | 66 75 6e 63 74 69 6f 6e |nDepth..|function| |00000e90| 20 63 48 43 6c 61 73 74 | 49 74 65 6d 20 44 65 6c | cHClast|Item Del| |00000ea0| 69 6d 2c 53 74 72 69 6e | 67 0d 2d 2d 20 72 65 74 |im,Strin|g.-- ret| |00000eb0| 75 72 6e 20 73 74 72 69 | 6e 67 20 61 66 74 65 72 |urn stri|ng after| |00000ec0| 20 66 69 6e 61 6c 20 44 | 65 6c 69 6d 20 69 6e 20 | final D|elim in | |00000ed0| 53 74 72 69 6e 67 0d 67 | 65 74 20 53 74 72 69 6e |String.g|et Strin| |00000ee0| 67 0d 70 75 74 20 6f 66 | 66 73 65 74 20 28 44 65 |g.put of|fset (De| |00000ef0| 6c 69 6d 2c 20 69 74 29 | 20 69 6e 74 6f 20 6e 78 |lim, it)| into nx| |00000f00| 74 0d 72 65 70 65 61 74 | 20 77 68 69 6c 65 20 6e |t.repeat| while n| |00000f10| 78 74 ad 30 0d 64 65 6c | 65 74 65 20 63 68 61 72 |xt.0.del|ete char| |00000f20| 20 31 20 74 6f 20 6e 78 | 74 20 6f 66 20 69 74 0d | 1 to nx|t of it.| |00000f30| 70 75 74 20 6f 66 66 73 | 65 74 20 28 44 65 6c 69 |put offs|et (Deli| |00000f40| 6d 2c 20 69 74 29 20 69 | 6e 74 6f 20 6e 78 74 0d |m, it) i|nto nxt.| |00000f50| 65 6e 64 20 72 65 70 65 | 61 74 0d 72 65 74 75 72 |end repe|at.retur| |00000f60| 6e 20 69 74 0d 65 6e 64 | 20 63 48 43 6c 61 73 74 |n it.end| cHClast| |00000f70| 49 74 65 6d 0d 0d 6f 6e | 20 65 72 72 42 69 74 44 |Item..on| errBitD| |00000f80| 65 70 74 68 0d 61 6e 73 | 77 65 72 20 22 54 68 69 |epth.ans|wer "Thi| |00000f90| 73 20 73 74 61 63 6b 20 | 72 65 71 75 69 72 65 73 |s stack |requires| |00000fa0| 20 61 20 63 6f 6c 6f 72 | 20 73 79 73 74 65 6d 20 | a color| system | |00000fb0| 73 65 74 20 74 6f 20 61 | 74 20 6c 65 61 73 74 20 |set to a|t least | |00000fc0| 31 36 20 63 6f 6c 6f 72 | 73 22 20 26 26 20 c2 0d |16 color|s" && ..| |00000fd0| 22 28 34 20 62 69 74 2d | 64 65 70 74 68 29 20 74 |"(4 bit-|depth) t| |00000fe0| 6f 20 64 69 73 70 6c 61 | 79 20 63 6f 6c 6f 72 2e |o displa|y color.| |00000ff0| 22 0d 65 6e 64 20 65 72 | 72 42 69 74 44 65 70 74 |".end er|rBitDept| |00001000| 68 0d 0d 6f 6e 20 63 6f | 6c 6f 72 69 7a 65 48 43 |h..on co|lorizeHC| |00001010| 0d 67 6c 6f 62 61 6c 20 | 67 4f 4b 54 6f 43 6f 6c |.global |gOKToCol| |00001020| 6f 72 69 7a 65 2c 20 67 | 48 43 6f 70 74 69 6f 6e |orize, g|HCoption| |00001030| 73 0d 69 66 20 67 4f 4b | 54 6f 43 6f 6c 6f 72 69 |s.if gOK|ToColori| |00001040| 7a 65 20 3d 20 65 6d 70 | 74 79 20 61 6e 64 20 67 |ze = emp|ty and g| |00001050| 48 43 6f 70 74 69 6f 6e | 73 20 ad 20 65 6d 70 74 |HCoption|s . empt| |00001060| 79 0d 74 68 65 6e 20 70 | 61 73 73 20 63 6f 6c 6f |y.then p|ass colo| |00001070| 72 69 7a 65 48 43 0d 65 | 6e 64 20 63 6f 6c 6f 72 |rizeHC.e|nd color| |00001080| 69 7a 65 48 43 0d 0d 66 | 75 6e 63 74 69 6f 6e 20 |izeHC..f|unction | |00001090| 63 6f 6c 6f 72 50 69 63 | 6b 65 72 20 70 72 6f 6d |colorPic|ker prom| |000010a0| 70 74 2c 6c 6f 63 2c 64 | 65 66 61 75 6c 74 0d 67 |pt,loc,d|efault.g| |000010b0| 6c 6f 62 61 6c 20 67 48 | 43 6f 70 74 69 6f 6e 73 |lobal gH|Coptions| |000010c0| 0d 67 6c 6f 62 61 6c 20 | 67 4f 4b 54 6f 43 6f 6c |.global |gOKToCol| |000010d0| 6f 72 69 7a 65 0d 69 66 | 20 67 4f 4b 54 6f 43 6f |orize.if| gOKToCo| |000010e0| 6c 6f 72 69 7a 65 20 3d | 20 65 6d 70 74 79 20 61 |lorize =| empty a| |000010f0| 6e 64 20 63 68 61 72 20 | 38 20 6f 66 20 67 48 43 |nd char |8 of gHC| |00001100| 6f 70 74 69 6f 6e 73 20 | ad 20 31 0d 74 68 65 6e |options |. 1.then| |00001110| 20 70 61 73 73 20 63 6f | 6c 6f 72 50 69 63 6b 65 | pass co|lorPicke| |00001120| 72 0d 72 65 74 75 72 6e | 20 65 6d 70 74 79 0d 65 |r.return| empty.e| |00001130| 6e 64 20 63 6f 6c 6f 72 | 50 69 63 6b 65 72 0d 0d |nd color|Picker..| |00001140| 66 75 6e 63 74 69 6f 6e | 20 73 74 61 63 6b 41 63 |function| stackAc| |00001150| 74 69 76 61 74 65 20 64 | 65 70 74 68 0d 67 6c 6f |tivate d|epth.glo| |00001160| 62 61 6c 20 67 4f 4b 54 | 6f 43 6f 6c 6f 72 69 7a |bal gOKT|oColoriz| |00001170| 65 2c 20 67 48 43 64 65 | 70 74 68 0d 0d 70 75 74 |e, gHCde|pth..put| |00001180| 20 65 6d 70 74 79 20 69 | 6e 74 6f 20 67 4f 4b 54 | empty i|nto gOKT| |00001190| 6f 43 6f 6c 6f 72 69 7a | 65 20 2d 2d 20 65 6e 61 |oColoriz|e -- ena| |000011a0| 62 6c 65 20 58 43 4d 44 | 0d 63 6f 6c 6f 72 69 7a |ble XCMD|.coloriz| |000011b0| 65 48 43 20 22 69 6e 73 | 74 61 6c 6c 22 2c 64 65 |eHC "ins|tall",de| |000011c0| 70 74 68 0d 0d 69 66 20 | 74 68 65 20 72 65 73 75 |pth..if |the resu| |000011d0| 6c 74 20 3d 20 65 6d 70 | 74 79 0d 74 68 65 6e 20 |lt = emp|ty.then | |000011e0| 63 6f 6c 6f 72 69 7a 65 | 48 43 20 22 61 73 73 69 |colorize|HC "assi| |000011f0| 67 6e 54 6f 46 72 6f 6e | 74 22 0d 0d 70 75 74 20 |gnToFron|t"..put | |00001200| 74 68 65 20 72 65 73 75 | 6c 74 20 69 6e 74 6f 20 |the resu|lt into | |00001210| 67 4f 4b 54 6f 43 6f 6c | 6f 72 69 7a 65 0d 70 75 |gOKToCol|orize.pu| |00001220| 74 20 64 65 70 74 68 20 | 69 6e 74 6f 20 67 48 43 |t depth |into gHC| |00001230| 64 65 70 74 68 0d 0d 72 | 65 74 75 72 6e 20 67 4f |depth..r|eturn gO| |00001240| 4b 54 6f 43 6f 6c 6f 72 | 69 7a 65 0d 65 6e 64 20 |KToColor|ize.end | |00001250| 73 74 61 63 6b 41 63 74 | 69 76 61 74 65 0d 0d 6f |stackAct|ivate..o| |00001260| 6e 20 65 72 72 43 6f 6c | 6f 72 0d 67 6c 6f 62 61 |n errCol|or.globa| |00001270| 6c 20 67 4f 4b 54 6f 43 | 6f 6c 6f 72 69 7a 65 0d |l gOKToC|olorize.| |00001280| 61 6e 73 77 65 72 20 22 | 57 61 72 6e 69 6e 67 3a |answer "|Warning:| |00001290| 20 54 68 65 20 65 6e 76 | 69 72 6f 6e 6d 65 6e 74 | The env|ironment| |000012a0| 20 74 68 69 73 20 73 74 | 61 63 6b 20 69 73 20 63 | this st|ack is c| |000012b0| 75 72 72 65 6e 74 6c 79 | 20 72 75 6e 6e 69 6e 67 |urrently| running| |000012c0| 20 69 6e 22 20 26 26 20 | c2 0d 22 69 73 20 75 6e | in" && |.."is un| |000012d0| 61 62 6c 65 20 74 6f 20 | 73 75 70 70 6f 72 74 20 |able to |support | |000012e0| 63 6f 6c 6f 72 2e 22 20 | 26 20 72 65 74 75 72 6e |color." |& return| |000012f0| 20 26 20 22 52 65 61 73 | 6f 6e 3a 22 20 26 26 20 | & "Reas|on:" && | |00001300| 67 4f 4b 54 6f 43 6f 6c | 6f 72 69 7a 65 0d 65 6e |gOKToCol|orize.en| |00001310| 64 20 65 72 72 43 6f 6c | 6f 72 0d 0d 6f 6e 20 63 |d errCol|or..on c| |00001320| 48 43 64 69 73 70 6f 73 | 65 0d 67 6c 6f 62 61 6c |HCdispos|e.global| |00001330| 20 67 4f 4b 54 6f 43 6f | 6c 6f 72 69 7a 65 2c 20 | gOKToCo|lorize, | |00001340| 67 48 43 64 65 70 74 68 | 0d 69 66 20 6e 6f 74 20 |gHCdepth|.if not | |00001350| 74 68 65 20 6c 6f 63 6b | 53 63 72 65 65 6e 20 74 |the lock|Screen t| |00001360| 68 65 6e 20 6c 6f 63 6b | 20 73 63 72 65 65 6e 20 |hen lock| screen | |00001370| 2d 2d 20 65 6e 73 75 72 | 65 20 6c 61 74 65 72 20 |-- ensur|e later | |00001380| 73 63 72 65 65 6e 20 75 | 70 64 61 74 65 0d 43 6f |screen u|pdate.Co| |00001390| 6c 6f 72 69 7a 65 48 43 | 20 22 44 69 73 70 6f 73 |lorizeHC| "Dispos| |000013a0| 65 22 0d 69 66 20 74 68 | 65 20 72 65 73 75 6c 74 |e".if th|e result| |000013b0| 20 ad 20 65 6d 70 74 79 | 20 74 68 65 6e 20 61 6e | . empty| then an| |000013c0| 73 77 65 72 20 74 68 65 | 20 72 65 73 75 6c 74 0d |swer the| result.| |000013d0| 70 75 74 20 22 44 69 73 | 61 62 6c 65 64 22 20 69 |put "Dis|abled" i| |000013e0| 6e 74 6f 20 67 4f 4b 54 | 6f 43 6f 6c 6f 72 69 7a |nto gOKT|oColoriz| |000013f0| 65 0d 70 75 74 20 31 20 | 69 6e 74 6f 20 67 48 43 |e.put 1 |into gHC| |00001400| 64 65 70 74 68 0d 65 6e | 64 20 63 48 43 64 69 73 |depth.en|d cHCdis| |00001410| 70 6f 73 65 0d 0d 2d 2d | 20 77 69 6e 64 6f 77 20 |pose..--| window | |00001420| 61 69 64 73 0d 0d 6f 6e | 20 63 48 43 61 64 64 57 |aids..on| cHCaddW| |00001430| 69 6e 64 6f 77 54 6f 4c | 69 73 74 20 6e 61 6d 65 |indowToL|ist name| |00001440| 2c 20 64 6f 53 68 6f 77 | 2c 20 64 6f 4d 6f 76 65 |, doShow|, doMove| |00001450| 0d 67 6c 6f 62 61 6c 20 | 67 48 43 77 69 6e 64 6f |.global |gHCwindo| |00001460| 77 73 0d 69 66 20 6e 61 | 6d 65 20 69 73 20 61 20 |ws.if na|me is a | |00001470| 6e 75 6d 62 65 72 20 74 | 68 65 6e 20 2d 2d 20 67 |number t|hen -- g| |00001480| 69 76 65 6e 20 69 64 0d | 69 66 20 74 68 65 72 65 |iven id.|if there| |00001490| 20 69 73 20 6e 6f 74 20 | 61 20 77 69 6e 64 6f 77 | is not |a window| |000014a0| 20 69 64 20 6e 61 6d 65 | 20 74 68 65 6e 20 65 78 | id name| then ex| |000014b0| 69 74 20 63 48 43 61 64 | 64 57 69 6e 64 6f 77 54 |it cHCad|dWindowT| |000014c0| 6f 4c 69 73 74 0d 70 75 | 74 20 74 68 65 20 6c 6f |oList.pu|t the lo| |000014d0| 63 20 6f 66 20 77 69 6e | 64 6f 77 20 69 64 20 6e |c of win|dow id n| |000014e0| 61 6d 65 20 69 6e 74 6f | 20 6e 74 72 79 0d 70 75 |ame into| ntry.pu| |000014f0| 74 20 74 68 65 20 6e 61 | 6d 65 20 6f 66 20 77 69 |t the na|me of wi| |00001500| 6e 64 6f 77 20 69 64 20 | 6e 61 6d 65 20 69 6e 74 |ndow id |name int| |00001510| 6f 20 69 74 65 6d 20 33 | 20 6f 66 20 6e 74 72 79 |o item 3| of ntry| |00001520| 0d 70 75 74 20 6e 61 6d | 65 20 69 6e 74 6f 20 69 |.put nam|e into i| |00001530| 74 65 6d 20 34 20 6f 66 | 20 6e 74 72 79 0d 65 6c |tem 4 of| ntry.el| |00001540| 73 65 0d 69 66 20 74 68 | 65 72 65 20 69 73 20 6e |se.if th|ere is n| |00001550| 6f 74 20 61 20 77 69 6e | 64 6f 77 20 6e 61 6d 65 |ot a win|dow name| |00001560| 20 74 68 65 6e 20 65 78 | 69 74 20 63 48 43 61 64 | then ex|it cHCad| |00001570| 64 57 69 6e 64 6f 77 54 | 6f 4c 69 73 74 0d 70 75 |dWindowT|oList.pu| |00001580| 74 20 74 68 65 20 6c 6f | 63 20 6f 66 20 77 69 6e |t the lo|c of win| |00001590| 64 6f 77 20 6e 61 6d 65 | 20 69 6e 74 6f 20 6e 74 |dow name| into nt| |000015a0| 72 79 0d 70 75 74 20 6e | 61 6d 65 20 69 6e 74 6f |ry.put n|ame into| |000015b0| 20 69 74 65 6d 20 33 20 | 6f 66 20 6e 74 72 79 20 | item 3 |of ntry | |000015c0| 2d 2d 20 74 68 65 20 6e | 61 6d 65 20 6f 66 20 75 |-- the n|ame of u| |000015d0| 73 65 72 73 0d 70 75 74 | 20 74 68 65 20 69 64 20 |sers.put| the id | |000015e0| 6f 66 20 77 69 6e 64 6f | 77 20 6e 61 6d 65 20 69 |of windo|w name i| |000015f0| 6e 74 6f 20 69 74 65 6d | 20 34 20 6f 66 20 6e 74 |nto item| 4 of nt| |00001600| 72 79 0d 65 6e 64 20 69 | 66 0d 70 75 74 20 64 6f |ry.end i|f.put do| |00001610| 53 68 6f 77 20 69 6e 74 | 6f 20 69 74 65 6d 20 35 |Show int|o item 5| |00001620| 20 6f 66 20 6e 74 72 79 | 20 2d 2d 20 73 75 62 6a | of ntry| -- subj| |00001630| 20 74 6f 20 73 68 6f 77 | 57 69 6e 64 6f 77 73 2c | to show|Windows,| |00001640| 20 68 69 64 65 57 69 6e | 64 6f 77 73 0d 70 75 74 | hideWin|dows.put| |00001650| 20 64 6f 4d 6f 76 65 20 | 69 6e 74 6f 20 69 74 65 | doMove |into ite| |00001660| 6d 20 36 20 6f 66 20 6e | 74 72 79 20 2d 2d 20 73 |m 6 of n|try -- s| |00001670| 75 62 6a 20 74 6f 20 72 | 65 57 69 6e 64 6f 77 0d |ubj to r|eWindow.| |00001680| 70 75 74 20 6e 74 72 79 | 20 69 6e 74 6f 20 6c 69 |put ntry| into li| |00001690| 6e 65 20 28 28 74 68 65 | 20 6e 75 6d 62 65 72 20 |ne ((the| number | |000016a0| 6f 66 20 6c 69 6e 65 73 | 20 6f 66 20 67 48 43 77 |of lines| of gHCw| |000016b0| 69 6e 64 6f 77 73 29 2b | 31 29 20 c2 0d 6f 66 20 |indows)+|1) ..of | |000016c0| 67 48 43 77 69 6e 64 6f | 77 73 0d 65 6e 64 20 63 |gHCwindo|ws.end c| |000016d0| 48 43 61 64 64 57 69 6e | 64 6f 77 54 6f 4c 69 73 |HCaddWin|dowToLis| |000016e0| 74 0d 0d 66 75 6e 63 74 | 69 6f 6e 20 63 48 43 70 |t..funct|ion cHCp| |000016f0| 69 63 74 57 69 6e 64 6f | 77 20 6e 61 6d 65 2c 20 |ictWindo|w name, | |00001700| 70 6f 73 2c 20 6b 69 6e | 64 2c 20 64 69 74 68 65 |pos, kin|d, dithe| |00001710| 72 0d 67 6c 6f 62 61 6c | 20 67 48 43 6f 70 74 69 |r.global| gHCopti| |00001720| 6f 6e 73 0d 69 66 20 63 | 68 61 72 20 31 30 20 6f |ons.if c|har 10 o| |00001730| 66 20 67 48 43 6f 70 74 | 69 6f 6e 73 20 ad 20 31 |f gHCopt|ions . 1| |00001740| 20 74 68 65 6e 0d 61 6e | 73 77 65 72 20 22 59 6f | then.an|swer "Yo| |00001750| 75 20 6e 65 65 64 20 74 | 6f 20 73 65 74 20 74 68 |u need t|o set th| |00001760| 65 20 d4 57 69 6e 64 6f | 77 73 d5 20 6f 70 74 69 |e .Windo|ws. opti| |00001770| 6f 6e 20 62 65 66 6f 72 | 65 22 20 26 26 20 c2 0d |on befor|e" && ..| |00001780| 22 63 61 6c 6c 69 6e 67 | 20 63 48 43 70 69 63 74 |"calling| cHCpict| |00001790| 57 69 6e 64 6f 77 2e 0d | 72 65 74 75 72 6e 20 30 |Window..|return 0| |000017a0| 0d 65 6e 64 20 69 66 0d | 69 66 20 6b 69 6e 64 20 |.end if.|if kind | |000017b0| 3d 20 65 6d 70 74 79 20 | 74 68 65 6e 20 70 75 74 |= empty |then put| |000017c0| 20 72 65 63 74 20 69 6e | 74 6f 20 6b 69 6e 64 0d | rect in|to kind.| |000017d0| 69 66 20 6e 61 6d 65 20 | 69 73 20 61 20 6e 75 6d |if name |is a num| |000017e0| 62 65 72 20 74 68 65 6e | 0d 61 6e 73 77 65 72 20 |ber then|.answer | |000017f0| 22 63 48 43 70 69 63 74 | 57 69 6e 64 6f 77 20 63 |"cHCpict|Window c| |00001800| 61 6e 6e 6f 74 20 64 65 | 61 6c 20 77 69 74 68 20 |annot de|al with | |00001810| 72 65 73 6f 75 72 63 65 | 20 6e 75 6d 62 65 72 73 |resource| numbers| |00001820| 21 22 0d 72 65 74 75 72 | 6e 20 30 0d 65 6e 64 20 |!".retur|n 0.end | |00001830| 69 66 0d 70 75 74 20 63 | 48 43 6c 61 73 74 49 74 |if.put c|HClastIt| |00001840| 65 6d 28 22 3a 22 2c 6e | 61 6d 65 29 20 69 6e 74 |em(":",n|ame) int| |00001850| 6f 20 6e 6d 0d 70 75 74 | 20 74 68 65 72 65 20 69 |o nm.put| there i| |00001860| 73 20 61 20 77 69 6e 64 | 6f 77 20 6e 6d 20 69 6e |s a wind|ow nm in| |00001870| 74 6f 20 65 78 73 74 73 | 0d 69 66 20 6e 61 6d 65 |to exsts|.if name| |00001880| 20 63 6f 6e 74 61 69 6e | 73 20 22 3a 22 20 74 68 | contain|s ":" th| |00001890| 65 6e 0d 70 69 63 74 75 | 72 65 20 6e 61 6d 65 2c |en.pictu|re name,| |000018a0| 20 66 69 6c 65 2c 20 6b | 69 6e 64 2c 20 46 61 6c | file, k|ind, Fal| |000018b0| 73 65 0d 65 6c 73 65 0d | 70 69 63 74 75 72 65 20 |se.else.|picture | |000018c0| 6e 61 6d 65 2c 20 72 65 | 73 6f 75 72 63 65 2c 20 |name, re|source, | |000018d0| 6b 69 6e 64 2c 20 46 61 | 6c 73 65 0d 65 6e 64 20 |kind, Fa|lse.end | |000018e0| 69 66 0d 69 66 20 74 68 | 65 20 72 65 73 75 6c 74 |if.if th|e result| |000018f0| 20 ad 20 65 6d 70 74 79 | 20 74 68 65 6e 20 72 65 | . empty| then re| |00001900| 74 75 72 6e 20 30 0d 69 | 66 20 65 78 73 74 73 20 |turn 0.i|f exsts | |00001910| 74 68 65 6e 0d 72 65 70 | 65 61 74 20 77 69 74 68 |then.rep|eat with| |00001920| 20 69 20 3d 20 74 68 65 | 20 6e 75 6d 62 65 72 20 | i = the| number | |00001930| 6f 66 20 74 68 65 20 63 | 61 72 64 20 77 69 6e 64 |of the c|ard wind| |00001940| 6f 77 20 64 6f 77 6e 20 | 74 6f 20 31 20 2d 2d 20 |ow down |to 1 -- | |00001950| 6c 6f 6f 6b 20 66 6f 72 | 20 6c 61 73 74 0d 69 66 |look for| last.if| |00001960| 20 74 68 65 20 6e 61 6d | 65 20 6f 66 20 77 69 6e | the nam|e of win| |00001970| 64 6f 77 20 69 20 3d 20 | 6e 6d 20 74 68 65 6e 0d |dow i = |nm then.| |00001980| 67 65 74 20 74 68 65 20 | 69 64 20 6f 66 20 77 69 |get the |id of wi| |00001990| 6e 64 6f 77 20 69 0d 65 | 78 69 74 20 72 65 70 65 |ndow i.e|xit repe| |000019a0| 61 74 0d 65 6e 64 20 69 | 66 0d 65 6e 64 20 72 65 |at.end i|f.end re| |000019b0| 70 65 61 74 0d 65 6c 73 | 65 20 67 65 74 20 74 68 |peat.els|e get th| |000019c0| 65 20 69 64 20 6f 66 20 | 77 69 6e 64 6f 77 20 6e |e id of |window n| |000019d0| 6d 0d 69 66 20 64 69 74 | 68 65 72 20 3d 20 54 72 |m.if dit|her = Tr| |000019e0| 75 65 20 74 68 65 6e 20 | 73 65 74 20 74 68 65 20 |ue then |set the | |000019f0| 64 69 74 68 65 72 69 6e | 67 20 6f 66 20 77 69 6e |ditherin|g of win| |00001a00| 64 6f 77 20 69 64 20 69 | 74 20 74 6f 20 64 69 74 |dow id i|t to dit| |00001a10| 68 65 72 0d 69 66 20 70 | 6f 73 20 69 73 20 61 20 |her.if p|os is a | |00001a20| 72 65 63 74 0d 74 68 65 | 6e 20 73 65 74 20 74 68 |rect.the|n set th| |00001a30| 65 20 72 65 63 74 20 6f | 66 20 77 69 6e 64 6f 77 |e rect o|f window| |00001a40| 20 69 64 20 69 74 20 74 | 6f 20 70 6f 73 0d 65 6c | id it t|o pos.el| |00001a50| 73 65 20 69 66 20 70 6f | 73 20 ad 20 65 6d 70 74 |se if po|s . empt| |00001a60| 79 20 74 68 65 6e 20 73 | 65 74 20 74 68 65 20 6c |y then s|et the l| |00001a70| 6f 63 20 6f 66 20 77 69 | 6e 64 6f 77 20 69 64 20 |oc of wi|ndow id | |00001a80| 69 74 20 74 6f 20 70 6f | 73 20 2d 2d 20 61 73 73 |it to po|s -- ass| |00001a90| 75 6d 65 20 32 0d 63 48 | 43 61 64 64 57 69 6e 64 |ume 2.cH|CaddWind| |00001aa0| 6f 77 54 6f 4c 69 73 74 | 20 69 74 0d 72 65 74 75 |owToList| it.retu| |00001ab0| 72 6e 20 69 74 0d 65 6e | 64 20 63 48 43 70 69 63 |rn it.en|d cHCpic| |00001ac0| 74 57 69 6e 64 6f 77 0d | 0d 6f 6e 20 63 48 43 70 |tWindow.|.on cHCp| |00001ad0| 69 63 74 57 69 6e 64 6f | 77 20 6e 61 6d 65 2c 20 |ictWindo|w name, | |00001ae0| 70 6f 73 2c 20 6b 69 6e | 64 2c 20 64 69 74 68 65 |pos, kin|d, dithe| |00001af0| 72 0d 67 65 74 20 63 48 | 43 70 69 63 74 57 69 6e |r.get cH|CpictWin| |00001b00| 64 6f 77 28 6e 61 6d 65 | 2c 70 6f 73 2c 6b 69 6e |dow(name|,pos,kin| |00001b10| 64 2c 64 69 74 68 65 72 | 29 0d 65 6e 64 20 63 48 |d,dither|).end cH| |00001b20| 43 70 69 63 74 57 69 6e | 64 6f 77 0d 0d 6f 6e 20 |CpictWin|dow..on | |00001b30| 63 48 43 70 69 63 74 6f | 69 64 20 6e 61 6d 65 2c |cHCpicto|id name,| |00001b40| 20 6c 63 6e 2c 20 61 72 | 67 32 2c 20 61 72 67 33 | lcn, ar|g2, arg3| |00001b50| 2c 20 61 72 67 34 2c 20 | 61 72 67 35 2c 20 61 72 |, arg4, |arg5, ar| |00001b60| 67 36 2c 20 61 72 67 37 | 0d 67 6c 6f 62 61 6c 20 |g6, arg7|.global | |00001b70| 67 48 43 6f 70 74 69 6f | 6e 73 0d 69 66 20 63 68 |gHCoptio|ns.if ch| |00001b80| 61 72 20 31 30 20 6f 66 | 20 67 48 43 6f 70 74 69 |ar 10 of| gHCopti| |00001b90| 6f 6e 73 20 ad 20 31 20 | 74 68 65 6e 0d 61 6e 73 |ons . 1 |then.ans| |00001ba0| 77 65 72 20 22 59 6f 75 | 20 6e 65 65 64 20 74 6f |wer "You| need to| |00001bb0| 20 73 65 74 20 74 68 65 | 20 d4 57 69 6e 64 6f 77 | set the| .Window| |00001bc0| 73 d5 20 6f 70 74 69 6f | 6e 20 62 65 66 6f 72 65 |s. optio|n before| |00001bd0| 22 20 26 26 20 c2 0d 22 | 63 61 6c 6c 69 6e 67 20 |" && .."|calling | |00001be0| 63 48 43 70 69 63 74 6f | 69 64 2e 22 0d 65 78 69 |cHCpicto|id.".exi| |00001bf0| 74 20 63 48 43 70 69 63 | 74 6f 69 64 0d 65 6e 64 |t cHCpic|toid.end| |00001c00| 20 69 66 0d 69 66 20 6e | 6f 74 20 28 74 68 65 20 | if.if n|ot (the | |00001c10| 53 74 61 63 6b 73 49 6e | 55 73 65 20 63 6f 6e 74 |StacksIn|Use cont| |00001c20| 61 69 6e 73 20 22 50 69 | 63 74 6f 69 64 20 58 43 |ains "Pi|ctoid XC| |00001c30| 4d 44 22 29 20 74 68 65 | 6e 0d 61 6e 73 77 65 72 |MD") the|n.answer| |00001c40| 20 22 59 6f 75 20 6d 75 | 73 74 20 67 69 76 65 20 | "You mu|st give | |00001c50| d4 73 74 61 72 74 20 75 | 73 69 6e 67 20 73 74 61 |.start u|sing sta| |00001c60| 63 6b 22 20 26 26 20 71 | 75 6f 74 65 20 26 20 22 |ck" && q|uote & "| |00001c70| 50 69 63 74 6f 69 64 20 | 58 43 4d 44 22 c2 0d 26 |Pictoid |XCMD"..&| |00001c80| 20 71 75 6f 74 65 20 26 | 26 20 22 62 65 66 6f 72 | quote &|& "befor| |00001c90| 65 20 75 73 69 6e 67 20 | 63 48 43 70 69 63 74 6f |e using |cHCpicto| |00001ca0| 69 64 22 0d 65 78 69 74 | 20 63 48 43 70 69 63 74 |id".exit| cHCpict| |00001cb0| 6f 69 64 0d 65 6e 64 20 | 69 66 0d 70 75 74 20 74 |oid.end |if.put t| |00001cc0| 68 65 20 70 61 72 61 6d | 73 20 69 6e 74 6f 20 70 |he param|s into p| |00001cd0| 61 72 61 6d 73 0d 67 65 | 74 20 6f 66 66 73 65 74 |arams.ge|t offset| |00001ce0| 20 28 71 75 6f 74 65 20 | 26 20 22 73 68 6f 77 22 | (quote |& "show"| |00001cf0| 20 26 20 71 75 6f 74 65 | 2c 20 69 74 29 0d 69 66 | & quote|, it).if| |00001d00| 20 69 74 20 3d 20 30 20 | 74 68 65 6e 0d 70 75 74 | it = 0 |then.put| |00001d10| 20 22 2c 22 20 26 20 71 | 75 6f 74 65 20 26 20 22 | "," & q|uote & "| |00001d20| 68 69 64 65 22 20 26 20 | 71 75 6f 74 65 20 61 66 |hide" & |quote af| |00001d30| 74 65 72 20 70 61 72 61 | 6d 73 0d 65 6c 73 65 0d |ter para|ms.else.| |00001d40| 70 75 74 20 71 75 6f 74 | 65 20 26 20 22 68 69 64 |put quot|e & "hid| |00001d50| 65 22 20 26 20 71 75 6f | 74 65 20 69 6e 74 6f 20 |e" & quo|te into | |00001d60| 63 68 61 72 20 69 74 20 | 74 6f 20 28 69 74 2b 36 |char it |to (it+6| |00001d70| 29 20 6f 66 20 70 61 72 | 61 6d 73 0d 65 6e 64 20 |) of par|ams.end | |00001d80| 69 66 0d 70 75 74 20 22 | 70 69 63 74 6f 69 64 22 |if.put "|pictoid"| |00001d90| 20 69 6e 74 6f 20 77 6f | 72 64 20 31 20 6f 66 20 | into wo|rd 1 of | |00001da0| 70 61 72 61 6d 73 0d 64 | 6f 20 70 61 72 61 6d 73 |params.d|o params| |00001db0| 0d 69 66 20 74 68 65 20 | 72 65 73 75 6c 74 20 3d |.if the |result =| |00001dc0| 20 65 6d 70 74 79 20 74 | 68 65 6e 0d 2d 2d 20 66 | empty t|hen.-- f| |00001dd0| 69 78 20 6d 6f 76 69 6e | 67 20 73 74 61 63 6b 20 |ix movin|g stack | |00001de0| 70 72 6f 62 6c 65 6d 0d | 69 66 20 6c 63 6e 20 69 |problem.|if lcn i| |00001df0| 73 20 61 20 72 65 63 74 | 0d 74 68 65 6e 20 73 65 |s a rect|.then se| |00001e00| 74 20 74 68 65 20 72 65 | 63 74 20 6f 66 20 77 69 |t the re|ct of wi| |00001e10| 6e 64 6f 77 20 6e 61 6d | 65 20 74 6f 20 6c 63 6e |ndow nam|e to lcn| |00001e20| 0d 65 6c 73 65 20 73 65 | 74 20 74 68 65 20 6c 6f |.else se|t the lo| |00001e30| 63 20 6f 66 20 77 69 6e | 64 6f 77 20 6e 61 6d 65 |c of win|dow name| |00001e40| 20 74 6f 20 6c 63 6e 0d | 63 48 43 61 64 64 57 69 | to lcn.|cHCaddWi| |00001e50| 6e 64 6f 77 54 6f 4c 69 | 73 74 20 6e 61 6d 65 0d |ndowToLi|st name.| |00001e60| 65 6e 64 20 69 66 0d 65 | 6e 64 20 63 48 43 70 69 |end if.e|nd cHCpi| |00001e70| 63 74 6f 69 64 0d 0d 66 | 75 6e 63 74 69 6f 6e 20 |ctoid..f|unction | |00001e80| 63 48 43 63 6f 6c 6f 72 | 54 65 78 74 20 52 47 42 |cHCcolor|Text RGB| |00001e90| 2c 20 66 73 70 65 63 2c | 20 63 74 61 62 2c 20 77 |, fspec,| ctab, w| |00001ea0| 6e 61 6d 65 2c 20 6f 70 | 74 0d 2d 2d 20 74 68 69 |name, op|t.-- thi| |00001eb0| 73 20 68 61 6e 64 6c 65 | 72 20 62 61 73 65 64 20 |s handle|r based | |00001ec0| 6f 6e 20 6f 6e 65 20 a9 | 20 4e 69 67 65 6c 20 50 |on one .| Nigel P| |00001ed0| 65 72 72 79 0d 67 6c 6f | 62 61 6c 20 67 48 43 6f |erry.glo|bal gHCo| |00001ee0| 70 74 69 6f 6e 73 0d 69 | 66 20 63 68 61 72 20 31 |ptions.i|f char 1| |00001ef0| 30 20 6f 66 20 67 48 43 | 6f 70 74 69 6f 6e 73 20 |0 of gHC|options | |00001f00| ad 20 31 20 74 68 65 6e | 0d 61 6e 73 77 65 72 20 |. 1 then|.answer | |00001f10| 22 59 6f 75 20 6e 65 65 | 64 20 74 6f 20 73 65 74 |"You nee|d to set| |00001f20| 20 74 68 65 20 d4 57 69 | 6e 64 6f 77 73 d5 20 6f | the .Wi|ndows. o| |00001f30| 70 74 69 6f 6e 20 62 65 | 66 6f 72 65 22 20 26 26 |ption be|fore" &&| |00001f40| 20 c2 0d 22 63 61 6c 6c | 69 6e 67 20 63 48 43 63 | .."call|ing cHCc| |00001f50| 6f 6c 6f 72 54 65 78 74 | 2e 22 0d 65 78 69 74 20 |olorText|.".exit | |00001f60| 63 48 43 63 6f 6c 6f 72 | 54 65 78 74 0d 65 6e 64 |cHCcolor|Text.end| |00001f70| 20 69 66 0d 69 66 20 6e | 6f 74 20 28 74 68 65 20 | if.if n|ot (the | |00001f80| 53 74 61 63 6b 73 49 6e | 55 73 65 20 63 6f 6e 74 |StacksIn|Use cont| |00001f90| 61 69 6e 73 20 22 43 6f | 6c 6f 75 72 20 54 65 78 |ains "Co|lour Tex| |00001fa0| 74 20 53 74 61 63 6b 22 | 29 20 74 68 65 6e 0d 61 |t Stack"|) then.a| |00001fb0| 6e 73 77 65 72 20 22 59 | 6f 75 20 6d 75 73 74 20 |nswer "Y|ou must | |00001fc0| 67 69 76 65 20 d4 73 74 | 61 72 74 20 75 73 69 6e |give .st|art usin| |00001fd0| 67 20 73 74 61 63 6b 22 | 20 26 26 20 71 75 6f 74 |g stack"| && quot| |00001fe0| 65 20 26 c2 0d 22 43 6f | 6c 6f 75 72 20 54 65 78 |e &.."Co|lour Tex| |00001ff0| 74 20 53 74 61 63 6b 22 | 20 26 20 71 75 6f 74 65 |t Stack"| & quote| |00002000| 20 26 26 20 22 d5 20 62 | 65 66 6f 72 65 20 75 73 | && ". b|efore us| |00002010| 69 6e 67 20 63 48 43 63 | 6f 6c 6f 72 54 65 78 74 |ing cHCc|olorText| |00002020| 22 0d 65 78 69 74 20 63 | 48 43 63 6f 6c 6f 72 54 |".exit c|HCcolorT| |00002030| 65 78 74 0d 65 6e 64 20 | 69 66 0d 64 6f 20 22 70 |ext.end |if.do "p| |00002040| 75 74 20 74 68 65 72 65 | 20 69 73 20 61 22 20 26 |ut there| is a" &| |00002050| 26 20 66 73 70 65 63 20 | 26 26 20 22 69 6e 74 6f |& fspec |&& "into| |00002060| 20 65 78 69 73 74 73 22 | 0d 69 66 20 6e 6f 74 20 | exists"|.if not | |00002070| 65 78 69 73 74 73 20 74 | 68 65 6e 20 72 65 74 75 |exists t|hen retu| |00002080| 72 6e 20 66 61 6c 73 65 | 0d 64 6f 20 22 70 75 74 |rn false|.do "put| |00002090| 20 63 68 61 72 20 31 20 | 6f 66 20 74 68 65 20 6e | char 1 |of the n| |000020a0| 61 6d 65 20 6f 66 22 20 | 26 26 20 66 73 70 65 63 |ame of" |&& fspec| |000020b0| 20 26 26 20 22 69 73 20 | 63 20 69 6e 74 6f 20 66 | && "is |c into f| |000020c0| 63 64 22 0d 64 6f 20 22 | 70 75 74 20 74 68 65 20 |cd".do "|put the | |000020d0| 73 68 6f 72 74 20 69 64 | 20 6f 66 22 20 26 26 20 |short id| of" && | |000020e0| 66 73 70 65 63 20 26 26 | 20 22 69 6e 74 6f 20 66 |fspec &&| "into f| |000020f0| 69 64 22 0d 69 66 20 66 | 63 64 20 74 68 65 6e 0d |id".if f|cd then.| |00002100| 70 75 74 20 74 68 65 20 | 73 74 79 6c 65 20 6f 66 |put the |style of| |00002110| 20 63 64 20 66 6c 64 20 | 69 64 20 66 69 64 20 69 | cd fld |id fid i| |00002120| 73 20 73 63 72 6f 6c 6c | 69 6e 67 20 69 6e 74 6f |s scroll|ing into| |00002130| 20 66 73 63 72 6f 6c 6c | 0d 70 75 74 20 74 68 65 | fscroll|.put the| |00002140| 20 77 69 64 65 4d 61 72 | 67 69 6e 73 20 6f 66 20 | wideMar|gins of | |00002150| 63 64 20 66 6c 64 20 69 | 64 20 66 69 64 20 69 6e |cd fld i|d fid in| |00002160| 74 6f 20 66 77 69 64 65 | 0d 70 75 74 20 74 68 65 |to fwide|.put the| |00002170| 20 74 6f 70 4c 65 66 74 | 20 6f 66 20 63 64 20 66 | topLeft| of cd f| |00002180| 6c 64 20 69 64 20 66 69 | 64 20 69 6e 74 6f 20 6c |ld id fi|d into l| |00002190| 6f 63 0d 65 6c 73 65 0d | 70 75 74 20 74 68 65 20 |oc.else.|put the | |000021a0| 73 74 79 6c 65 20 6f 66 | 20 66 6c 64 20 69 64 20 |style of| fld id | |000021b0| 66 69 64 20 69 73 20 73 | 63 72 6f 6c 6c 69 6e 67 |fid is s|crolling| |000021c0| 20 69 6e 74 6f 20 66 73 | 63 72 6f 6c 6c 0d 70 75 | into fs|croll.pu| |000021d0| 74 20 74 68 65 20 77 69 | 64 65 4d 61 72 67 69 6e |t the wi|deMargin| |000021e0| 73 20 6f 66 20 66 6c 64 | 20 69 64 20 66 69 64 20 |s of fld| id fid | |000021f0| 69 6e 74 6f 20 66 77 69 | 64 65 0d 70 75 74 20 74 |into fwi|de.put t| |00002200| 68 65 20 74 6f 70 4c 65 | 66 74 20 6f 66 20 66 6c |he topLe|ft of fl| |00002210| 64 20 69 64 20 66 69 64 | 20 69 6e 74 6f 20 6c 6f |d id fid| into lo| |00002220| 63 0d 65 6e 64 20 69 66 | 0d 69 66 20 6f 70 74 20 |c.end if|.if opt | |00002230| ad 20 65 6d 70 74 79 20 | 74 68 65 6e 0d 70 75 74 |. empty |then.put| |00002240| 20 6f 70 74 32 6e 75 6d | 28 6f 70 74 29 20 69 6e | opt2num|(opt) in| |00002250| 74 6f 20 6f 70 74 73 0d | 69 66 20 52 47 42 20 3d |to opts.|if RGB =| |00002260| 20 54 72 75 65 20 74 68 | 65 6e 0d 70 75 74 20 43 | True th|en.put C| |00002270| 6f 6c 6f 75 72 54 65 78 | 74 52 47 42 28 66 63 64 |olourTex|tRGB(fcd| |00002280| 2c 20 66 69 64 2c 20 66 | 73 63 72 6f 6c 6c 2c 20 |, fid, f|scroll, | |00002290| 66 77 69 64 65 2c 20 63 | 74 61 62 2c 20 77 6e 61 |fwide, c|tab, wna| |000022a0| 6d 65 2c 20 66 61 6c 73 | 65 2c 20 6f 70 74 73 29 |me, fals|e, opts)| |000022b0| 20 69 6e 74 6f 20 72 65 | 73 0d 65 6c 73 65 0d 70 | into re|s.else.p| |000022c0| 75 74 20 43 6f 6c 6f 75 | 72 54 65 78 74 28 66 63 |ut Colou|rText(fc| |000022d0| 64 2c 20 66 69 64 2c 20 | 66 73 63 72 6f 6c 6c 2c |d, fid, |fscroll,| |000022e0| 20 66 77 69 64 65 2c 20 | 63 74 61 62 2c 20 77 6e | fwide, |ctab, wn| |000022f0| 61 6d 65 2c 20 66 61 6c | 73 65 2c 20 6f 70 74 73 |ame, fal|se, opts| |00002300| 29 20 69 6e 74 6f 20 72 | 65 73 0d 65 6e 64 20 69 |) into r|es.end i| |00002310| 66 0d 65 6c 73 65 0d 69 | 66 20 52 47 42 20 3d 20 |f.else.i|f RGB = | |00002320| 54 72 75 65 20 74 68 65 | 6e 0d 70 75 74 20 43 6f |True the|n.put Co| |00002330| 6c 6f 75 72 54 65 78 74 | 52 47 42 28 66 63 64 2c |lourText|RGB(fcd,| |00002340| 20 66 69 64 2c 20 66 73 | 63 72 6f 6c 6c 2c 20 66 | fid, fs|croll, f| |00002350| 77 69 64 65 2c 20 63 74 | 61 62 2c 20 77 6e 61 6d |wide, ct|ab, wnam| |00002360| 65 2c 20 66 61 6c 73 65 | 29 20 69 6e 74 6f 20 72 |e, false|) into r| |00002370| 65 73 0d 65 6c 73 65 0d | 70 75 74 20 43 6f 6c 6f |es.else.|put Colo| |00002380| 75 72 54 65 78 74 28 66 | 63 64 2c 20 66 69 64 2c |urText(f|cd, fid,| |00002390| 20 66 73 63 72 6f 6c 6c | 2c 20 66 77 69 64 65 2c | fscroll|, fwide,| |000023a0| 20 63 74 61 62 2c 20 77 | 6e 61 6d 65 2c 20 66 61 | ctab, w|name, fa| |000023b0| 6c 73 65 29 20 69 6e 74 | 6f 20 72 65 73 0d 65 6e |lse) int|o res.en| |000023c0| 64 20 69 66 0d 65 6e 64 | 20 69 66 0d 69 66 20 72 |d if.end| if.if r| |000023d0| 65 73 20 3d 20 74 72 75 | 65 20 74 68 65 6e 0d 2d |es = tru|e then.-| |000023e0| 2d 20 66 69 78 20 6c 6f | 63 20 69 66 20 6d 6f 76 |- fix lo|c if mov| |000023f0| 69 6e 67 20 73 74 61 63 | 6b 0d 73 65 74 20 74 68 |ing stac|k.set th| |00002400| 65 20 6c 6f 63 20 6f 66 | 20 77 69 6e 64 6f 77 20 |e loc of| window | |00002410| 77 6e 61 6d 65 20 74 6f | 20 63 48 43 63 6f 72 72 |wname to| cHCcorr| |00002420| 65 63 74 20 28 6c 6f 63 | 2c 22 31 2c 31 22 29 0d |ect (loc|,"1,1").| |00002430| 63 48 43 61 64 64 57 69 | 6e 64 6f 77 54 6f 4c 69 |cHCaddWi|ndowToLi| |00002440| 73 74 20 77 6e 61 6d 65 | 0d 65 6e 64 20 69 66 0d |st wname|.end if.| |00002450| 72 65 74 75 72 6e 20 72 | 65 73 0d 65 6e 64 20 63 |return r|es.end c| |00002460| 48 43 63 6f 6c 6f 72 54 | 65 78 74 0d 0d 6f 6e 20 |HCcolorT|ext..on | |00002470| 63 48 43 73 68 6f 77 57 | 69 6e 64 6f 77 73 20 64 |cHCshowW|indows d| |00002480| 6f 41 6c 6c 0d 67 6c 6f | 62 61 6c 20 67 48 43 77 |oAll.glo|bal gHCw| |00002490| 69 6e 64 6f 77 73 0d 69 | 66 20 67 48 43 77 69 6e |indows.i|f gHCwin| |000024a0| 64 6f 77 73 20 ad 20 65 | 6d 70 74 79 20 74 68 65 |dows . e|mpty the| |000024b0| 6e 0d 69 66 20 74 68 65 | 20 6c 6f 63 6b 53 63 72 |n.if the| lockScr| |000024c0| 65 65 6e 20 74 68 65 6e | 20 63 48 43 62 72 65 61 |een then| cHCbrea| |000024d0| 6b 53 63 72 65 65 6e 4c | 6f 63 6b 0d 72 65 70 65 |kScreenL|ock.repe| |000024e0| 61 74 20 77 69 74 68 20 | 69 3d 31 20 74 6f 20 74 |at with |i=1 to t| |000024f0| 68 65 20 6e 75 6d 62 65 | 72 20 6f 66 20 6c 69 6e |he numbe|r of lin| |00002500| 65 73 20 69 6e 20 67 48 | 43 77 69 6e 64 6f 77 73 |es in gH|Cwindows| |00002510| 0d 70 75 74 20 6c 69 6e | 65 20 69 20 6f 66 20 67 |.put lin|e i of g| |00002520| 48 43 77 69 6e 64 6f 77 | 73 20 69 6e 74 6f 20 65 |HCwindow|s into e| |00002530| 6e 74 72 79 0d 69 66 20 | 69 74 65 6d 20 35 20 6f |ntry.if |item 5 o| |00002540| 66 20 67 48 43 77 69 6e | 64 6f 77 73 20 ad 20 46 |f gHCwin|dows . F| |00002550| 61 6c 73 65 20 6f 72 20 | 64 6f 41 6c 6c 20 3d 20 |alse or |doAll = | |00002560| 54 72 75 65 20 74 68 65 | 6e 0d 67 65 74 20 69 74 |True the|n.get it| |00002570| 65 6d 20 34 20 6f 66 20 | 65 6e 74 72 79 0d 69 66 |em 4 of |entry.if| |00002580| 20 74 68 65 72 65 20 69 | 73 20 61 20 77 69 6e 64 | there i|s a wind| |00002590| 6f 77 20 69 64 20 69 74 | 20 74 68 65 6e 0d 69 66 |ow id it| then.if| |000025a0| 20 6e 6f 74 20 28 74 68 | 65 20 76 69 73 69 62 6c | not (th|e visibl| |000025b0| 65 20 6f 66 20 77 69 6e | 64 6f 77 20 69 64 20 69 |e of win|dow id i| |000025c0| 74 29 20 74 68 65 6e 0d | 73 65 74 20 74 68 65 20 |t) then.|set the | |000025d0| 6c 6f 63 20 6f 66 20 77 | 69 6e 64 6f 77 20 69 64 |loc of w|indow id| |000025e0| 20 69 74 20 74 6f 20 28 | 69 74 65 6d 20 31 20 74 | it to (|item 1 t| |000025f0| 6f 20 32 20 6f 66 20 65 | 6e 74 72 79 29 0d 73 68 |o 2 of e|ntry).sh| |00002600| 6f 77 20 77 69 6e 64 6f | 77 20 69 64 20 69 74 0d |ow windo|w id it.| |00002610| 65 6e 64 20 69 66 0d 65 | 6e 64 20 69 66 0d 65 6e |end if.e|nd if.en| |00002620| 64 20 69 66 0d 65 6e 64 | 20 72 65 70 65 61 74 0d |d if.end| repeat.| |00002630| 65 6e 64 20 69 66 0d 65 | 6e 64 20 63 48 43 73 68 |end if.e|nd cHCsh| |00002640| 6f 77 57 69 6e 64 6f 77 | 73 0d 0d 6f 6e 20 63 48 |owWindow|s..on cH| |00002650| 43 68 69 64 65 57 69 6e | 64 6f 77 73 20 64 6f 41 |ChideWin|dows doA| |00002660| 6c 6c 0d 67 6c 6f 62 61 | 6c 20 67 48 43 77 69 6e |ll.globa|l gHCwin| |00002670| 64 6f 77 73 0d 69 66 20 | 67 48 43 77 69 6e 64 6f |dows.if |gHCwindo| |00002680| 77 73 20 ad 20 65 6d 70 | 74 79 20 74 68 65 6e 0d |ws . emp|ty then.| |00002690| 63 48 43 62 72 65 61 6b | 53 63 72 65 65 6e 4c 6f |cHCbreak|ScreenLo| |000026a0| 63 6b 0d 72 65 70 65 61 | 74 20 77 69 74 68 20 69 |ck.repea|t with i| |000026b0| 3d 31 20 74 6f 20 74 68 | 65 20 6e 75 6d 62 65 72 |=1 to th|e number| |000026c0| 20 6f 66 20 6c 69 6e 65 | 73 20 69 6e 20 67 48 43 | of line|s in gHC| |000026d0| 77 69 6e 64 6f 77 73 0d | 70 75 74 20 6c 69 6e 65 |windows.|put line| |000026e0| 20 69 20 6f 66 20 67 48 | 43 77 69 6e 64 6f 77 73 | i of gH|Cwindows| |000026f0| 20 69 6e 74 6f 20 65 6e | 74 72 79 0d 69 66 20 69 | into en|try.if i| |00002700| 74 65 6d 20 35 20 6f 66 | 20 67 48 43 77 69 6e 64 |tem 5 of| gHCwind| |00002710| 6f 77 73 20 ad 20 46 61 | 6c 73 65 20 6f 72 20 64 |ows . Fa|lse or d| |00002720| 6f 41 6c 6c 20 3d 20 54 | 72 75 65 20 74 68 65 6e |oAll = T|rue then| |00002730| 0d 67 65 74 20 69 74 65 | 6d 20 34 20 6f 66 20 65 |.get ite|m 4 of e| |00002740| 6e 74 72 79 0d 69 66 20 | 74 68 65 72 65 20 69 73 |ntry.if |there is| |00002750| 20 61 20 77 69 6e 64 6f | 77 20 69 64 20 69 74 20 | a windo|w id it | |00002760| 74 68 65 6e 20 68 69 64 | 65 20 77 69 6e 64 6f 77 |then hid|e window| |00002770| 20 69 64 20 69 74 0d 65 | 6e 64 20 69 66 0d 65 6e | id it.e|nd if.en| |00002780| 64 20 72 65 70 65 61 74 | 0d 65 6e 64 20 69 66 0d |d repeat|.end if.| |00002790| 65 6e 64 20 63 48 43 68 | 69 64 65 57 69 6e 64 6f |end cHCh|ideWindo| |000027a0| 77 73 0d 0d 6f 6e 20 63 | 48 43 6b 69 6c 6c 57 69 |ws..on c|HCkillWi| |000027b0| 6e 64 6f 77 73 0d 67 6c | 6f 62 61 6c 20 67 48 43 |ndows.gl|obal gHC| |000027c0| 77 69 6e 64 6f 77 73 0d | 72 65 70 65 61 74 20 77 |windows.|repeat w| |000027d0| 69 74 68 20 69 3d 31 20 | 74 6f 20 74 68 65 20 6e |ith i=1 |to the n| |000027e0| 75 6d 62 65 72 20 6f 66 | 20 6c 69 6e 65 73 20 69 |umber of| lines i| |000027f0| 6e 20 67 48 43 77 69 6e | 64 6f 77 73 0d 67 65 74 |n gHCwin|dows.get| |00002800| 20 69 74 65 6d 20 34 20 | 6f 66 20 6c 69 6e 65 20 | item 4 |of line | |00002810| 69 20 6f 66 20 67 48 43 | 77 69 6e 64 6f 77 73 0d |i of gHC|windows.| |00002820| 69 66 20 74 68 65 72 65 | 20 69 73 20 61 20 77 69 |if there| is a wi| |00002830| 6e 64 6f 77 20 69 64 20 | 69 74 20 74 68 65 6e 20 |ndow id |it then | |00002840| 63 6c 6f 73 65 20 77 69 | 6e 64 6f 77 20 69 64 20 |close wi|ndow id | |00002850| 69 74 0d 65 6e 64 20 72 | 65 70 65 61 74 0d 70 75 |it.end r|epeat.pu| |00002860| 74 20 65 6d 70 74 79 20 | 69 6e 74 6f 20 67 48 43 |t empty |into gHC| |00002870| 77 69 6e 64 6f 77 73 0d | 65 6e 64 20 63 48 43 6b |windows.|end cHCk| |00002880| 69 6c 6c 57 69 6e 64 6f | 77 73 0d 0d 6f 6e 20 63 |illWindo|ws..on c| |00002890| 48 43 6b 69 6c 6c 57 69 | 6e 64 6f 77 20 6e 61 6d |HCkillWi|ndow nam| |000028a0| 65 0d 67 6c 6f 62 61 6c | 20 67 48 43 77 69 6e 64 |e.global| gHCwind| |000028b0| 6f 77 73 0d 72 65 70 65 | 61 74 20 77 69 74 68 20 |ows.repe|at with | |000028c0| 69 3d 20 74 68 65 20 6e | 75 6d 62 65 72 20 6f 66 |i= the n|umber of| |000028d0| 20 6c 69 6e 65 73 20 69 | 6e 20 67 48 43 77 69 6e | lines i|n gHCwin| |000028e0| 64 6f 77 73 20 64 6f 77 | 6e 20 74 6f 20 31 0d 67 |dows dow|n to 1.g| |000028f0| 65 74 20 6c 69 6e 65 20 | 69 20 6f 66 20 67 48 43 |et line |i of gHC| |00002900| 77 69 6e 64 6f 77 73 0d | 70 75 74 20 69 74 65 6d |windows.|put item| |00002910| 20 34 20 6f 66 20 69 74 | 20 69 6e 74 6f 20 77 69 | 4 of it| into wi| |00002920| 64 0d 69 66 20 6e 61 6d | 65 20 3d 20 28 69 74 65 |d.if nam|e = (ite| |00002930| 6d 20 33 20 6f 66 20 69 | 74 29 20 6f 72 20 6e 61 |m 3 of i|t) or na| |00002940| 6d 65 20 3d 20 77 69 64 | 20 74 68 65 6e 0d 69 66 |me = wid| then.if| |00002950| 20 74 68 65 72 65 20 69 | 73 20 61 20 77 69 6e 64 | there i|s a wind| |00002960| 6f 77 20 69 64 20 77 69 | 64 20 74 68 65 6e 20 63 |ow id wi|d then c| |00002970| 6c 6f 73 65 20 77 69 6e | 64 6f 77 20 69 64 20 77 |lose win|dow id w| |00002980| 69 64 0d 64 65 6c 65 74 | 65 20 6c 69 6e 65 20 69 |id.delet|e line i| |00002990| 20 6f 66 20 67 48 43 77 | 69 6e 64 6f 77 73 0d 65 | of gHCw|indows.e| |000029a0| 78 69 74 20 72 65 70 65 | 61 74 0d 65 6e 64 20 69 |xit repe|at.end i| |000029b0| 66 0d 65 6e 64 20 72 65 | 70 65 61 74 0d 65 6e 64 |f.end re|peat.end| |000029c0| 20 63 48 43 6b 69 6c 6c | 57 69 6e 64 6f 77 0d 0d | cHCkill|Window..| |000029d0| 6f 6e 20 63 48 43 77 69 | 6e 64 6f 77 53 74 61 74 |on cHCwi|ndowStat| |000029e0| 65 20 6e 61 6d 65 2c 20 | 6e 65 77 4c 6f 63 2c 20 |e name, |newLoc, | |000029f0| 64 6f 53 68 6f 77 2c 20 | 64 6f 4d 6f 76 65 0d 67 |doShow, |doMove.g| |00002a00| 6c 6f 62 61 6c 20 67 48 | 43 77 69 6e 64 6f 77 73 |lobal gH|Cwindows| |00002a10| 0d 72 65 70 65 61 74 20 | 77 69 74 68 20 69 3d 20 |.repeat |with i= | |00002a20| 74 68 65 20 6e 75 6d 62 | 65 72 20 6f 66 20 6c 69 |the numb|er of li| |00002a30| 6e 65 73 20 69 6e 20 67 | 48 43 77 69 6e 64 6f 77 |nes in g|HCwindow| |00002a40| 73 20 64 6f 77 6e 20 74 | 6f 20 31 0d 67 65 74 20 |s down t|o 1.get | |00002a50| 6c 69 6e 65 20 69 20 6f | 66 20 67 48 43 77 69 6e |line i o|f gHCwin| |00002a60| 64 6f 77 73 0d 70 75 74 | 20 69 74 65 6d 20 34 20 |dows.put| item 4 | |00002a70| 6f 66 20 69 74 20 69 6e | 74 6f 20 77 69 64 0d 69 |of it in|to wid.i| |00002a80| 66 20 6e 61 6d 65 20 3d | 20 28 69 74 65 6d 20 33 |f name =| (item 3| |00002a90| 20 6f 66 20 69 74 29 20 | 6f 72 20 6e 61 6d 65 20 | of it) |or name | |00002aa0| 3d 20 77 69 64 20 74 68 | 65 6e 0d 69 66 20 6e 65 |= wid th|en.if ne| |00002ab0| 77 4c 6f 63 20 ad 20 65 | 6d 70 74 79 20 74 68 65 |wLoc . e|mpty the| |00002ac0| 6e 0d 69 66 20 6e 65 77 | 4c 6f 63 20 69 73 20 61 |n.if new|Loc is a| |00002ad0| 20 72 65 63 74 0d 74 68 | 65 6e 20 73 65 74 20 74 | rect.th|en set t| |00002ae0| 68 65 20 72 65 63 74 20 | 6f 66 20 77 69 6e 64 6f |he rect |of windo| |00002af0| 77 20 69 64 20 77 69 64 | 20 74 6f 20 6e 65 77 4c |w id wid| to newL| |00002b00| 6f 63 0d 65 6c 73 65 20 | 73 65 74 20 74 68 65 20 |oc.else |set the | |00002b10| 6c 6f 63 20 6f 66 20 77 | 69 6e 64 6f 77 20 69 64 |loc of w|indow id| |00002b20| 20 77 69 64 20 74 6f 20 | 6e 65 77 4c 6f 63 0d 70 | wid to |newLoc.p| |00002b30| 75 74 20 74 68 65 20 6c | 6f 63 20 6f 66 20 77 69 |ut the l|oc of wi| |00002b40| 6e 64 6f 77 20 69 64 20 | 77 69 64 20 69 6e 74 6f |ndow id |wid into| |00002b50| 20 69 74 65 6d 20 31 20 | 74 6f 20 32 20 6f 66 20 | item 1 |to 2 of | |00002b60| 69 74 0d 65 6e 64 20 69 | 66 0d 69 66 20 64 6f 53 |it.end i|f.if doS| |00002b70| 68 6f 77 20 ad 20 65 6d | 70 74 79 0d 74 68 65 6e |how . em|pty.then| |00002b80| 20 70 75 74 20 64 6f 53 | 68 6f 77 20 69 6e 74 6f | put doS|how into| |00002b90| 20 69 74 65 6d 20 35 20 | 6f 66 20 69 74 0d 69 66 | item 5 |of it.if| |00002ba0| 20 64 6f 4d 6f 76 65 20 | ad 20 65 6d 70 74 79 0d | doMove |. empty.| |00002bb0| 74 68 65 6e 20 70 75 74 | 20 64 6f 4d 6f 76 65 20 |then put| doMove | |00002bc0| 69 6e 74 6f 20 69 74 65 | 6d 20 36 20 6f 66 20 69 |into ite|m 6 of i| |00002bd0| 74 0d 70 75 74 20 69 74 | 20 69 6e 74 6f 20 6c 69 |t.put it| into li| |00002be0| 6e 65 20 69 20 6f 66 20 | 67 48 43 77 69 6e 64 6f |ne i of |gHCwindo| |00002bf0| 77 73 0d 65 78 69 74 20 | 72 65 70 65 61 74 0d 65 |ws.exit |repeat.e| |00002c00| 6e 64 20 69 66 0d 65 6e | 64 20 72 65 70 65 61 74 |nd if.en|d repeat| |00002c10| 0d 65 6e 64 20 63 48 43 | 77 69 6e 64 6f 77 53 74 |.end cHC|windowSt| |00002c20| 61 74 65 0d 0d 6f 6e 20 | 63 48 43 72 65 57 69 6e |ate..on |cHCreWin| |00002c30| 64 6f 77 0d 67 6c 6f 62 | 61 6c 20 67 48 43 77 69 |dow.glob|al gHCwi| |00002c40| 6e 64 6f 77 73 0d 69 66 | 20 67 48 43 77 69 6e 64 |ndows.if| gHCwind| |00002c50| 6f 77 73 20 ad 20 65 6d | 70 74 79 20 74 68 65 6e |ows . em|pty then| |00002c60| 0d 69 66 20 74 68 65 20 | 6c 6f 63 6b 53 63 72 65 |.if the |lockScre| |00002c70| 65 6e 20 74 68 65 6e 20 | 63 48 43 62 72 65 61 6b |en then |cHCbreak| |00002c80| 53 63 72 65 65 6e 4c 6f | 63 6b 0d 72 65 70 65 61 |ScreenLo|ck.repea| |00002c90| 74 20 77 69 74 68 20 69 | 3d 31 20 74 6f 20 74 68 |t with i|=1 to th| |00002ca0| 65 20 6e 75 6d 62 65 72 | 20 6f 66 20 6c 69 6e 65 |e number| of line| |00002cb0| 73 20 69 6e 20 67 48 43 | 77 69 6e 64 6f 77 73 0d |s in gHC|windows.| |00002cc0| 70 75 74 20 6c 69 6e 65 | 20 69 20 6f 66 20 67 48 |put line| i of gH| |00002cd0| 43 77 69 6e 64 6f 77 73 | 20 69 6e 74 6f 20 65 6e |Cwindows| into en| |00002ce0| 74 72 79 0d 69 66 20 69 | 74 65 6d 20 36 20 6f 66 |try.if i|tem 6 of| |00002cf0| 20 65 6e 74 72 79 20 ad | 20 74 72 75 65 20 74 68 | entry .| true th| |00002d00| 65 6e 0d 67 65 74 20 69 | 74 65 6d 20 34 20 6f 66 |en.get i|tem 4 of| |00002d10| 20 65 6e 74 72 79 0d 69 | 66 20 74 68 65 72 65 20 | entry.i|f there | |00002d20| 69 73 20 61 20 77 69 6e | 64 6f 77 20 69 64 20 69 |is a win|dow id i| |00002d30| 74 0d 74 68 65 6e 20 73 | 65 74 20 74 68 65 20 6c |t.then s|et the l| |00002d40| 6f 63 20 6f 66 20 77 69 | 6e 64 6f 77 20 69 64 20 |oc of wi|ndow id | |00002d50| 69 74 20 74 6f 20 28 69 | 74 65 6d 20 31 20 74 6f |it to (i|tem 1 to| |00002d60| 20 32 20 6f 66 20 65 6e | 74 72 79 29 0d 65 6e 64 | 2 of en|try).end| |00002d70| 20 69 66 0d 65 6e 64 20 | 72 65 70 65 61 74 0d 65 | if.end |repeat.e| |00002d80| 6e 64 20 69 66 0d 65 6e | 64 20 63 48 43 72 65 57 |nd if.en|d cHCreW| |00002d90| 69 6e 64 6f 77 0d 0d 2d | 2d 20 65 78 74 72 61 73 |indow..-|- extras| |00002da0| 20 61 64 64 65 64 20 62 | 79 20 4a 46 20 74 6f 20 | added b|y JF to | |00002db0| 68 65 6c 70 20 77 69 74 | 68 20 69 6e 74 65 67 72 |help wit|h integr| |00002dc0| 61 74 69 6f 6e 20 69 6e | 74 6f 20 73 74 61 63 6b |ation in|to stack| |00002dd0| 73 2e 20 53 65 65 20 49 | 6e 66 6f 20 63 61 72 64 |s. See I|nfo card| |00002de0| 0d 0d 2d 2d 20 6f 70 74 | 69 6f 6e 20 66 6c 61 67 |..-- opt|ion flag| |00002df0| 73 20 28 31 20 69 66 20 | 73 65 74 29 0d 2d 2d 20 |s (1 if |set).-- | |00002e00| 31 3a 20 48 43 43 6f 6c | 6f 72 69 7a 65 2c 20 32 |1: HCCol|orize, 2| |00002e10| 3a 20 48 43 75 6e 43 6f | 6c 6f 72 69 7a 65 2c 20 |: HCunCo|lorize, | |00002e20| 33 3a 20 48 43 62 57 68 | 69 74 65 2c 20 34 3a 20 |3: HCbWh|ite, 4: | |00002e30| 48 43 75 6e 42 57 68 69 | 74 65 0d 2d 2d 20 35 3a |HCunBWhi|te.-- 5:| |00002e40| 20 48 43 67 72 61 70 68 | 69 63 2c 20 36 3a 20 48 | HCgraph|ic, 6: H| |00002e50| 43 75 6e 47 72 61 70 68 | 69 63 2c 20 37 3a 20 6e |CunGraph|ic, 7: n| |00002e60| 6f 45 72 72 6f 72 73 2c | 20 38 3a 20 66 6f 72 63 |oErrors,| 8: forc| |00002e70| 65 43 6f 6c 6f 72 2c 0d | 2d 2d 20 39 3a 20 66 6f |eColor,.|-- 9: fo| |00002e80| 72 63 65 42 57 2c 20 31 | 30 3a 20 57 69 6e 64 6f |rceBW, 1|0: Windo| |00002e90| 77 73 2c 20 31 31 3a 20 | 6c 65 61 76 65 43 75 72 |ws, 11: |leaveCur| |00002ea0| 73 6f 72 2c 20 31 32 3a | 20 6e 6f 56 69 73 75 61 |sor, 12:| noVisua| |00002eb0| 6c 73 2c 0d 2d 2d 20 31 | 33 3a 20 6e 6f 56 69 73 |ls,.-- 1|3: noVis| |00002ec0| 75 61 6c 73 49 6e 43 6f | 6c 6f 72 2c 20 31 34 3a |ualsInCo|lor, 14:| |00002ed0| 20 64 62 43 6f 6c 6f 72 | 69 7a 65 48 43 2c 20 31 | dbColor|izeHC, 1| |00002ee0| 35 3a 20 48 43 70 72 65 | 47 72 61 70 68 69 63 2c |5: HCpre|Graphic,| |00002ef0| 0d 2d 2d 20 31 36 3a 20 | 48 43 69 6e 69 74 2c 20 |.-- 16: |HCinit, | |00002f00| 31 37 3a 20 48 43 75 6e | 49 6e 69 74 0d 66 75 6e |17: HCun|Init.fun| |00002f10| 63 74 69 6f 6e 20 63 48 | 43 4f 70 74 69 6f 6e 73 |ction cH|COptions| |00002f20| 0d 72 65 74 75 72 6e 20 | 22 48 43 63 6f 6c 6f 72 |.return |"HCcolor| |00002f30| 69 7a 65 2c 48 43 75 6e | 43 6f 6c 6f 72 69 7a 65 |ize,HCun|Colorize| |00002f40| 2c 48 43 62 57 68 69 74 | 65 2c 48 43 75 6e 42 57 |,HCbWhit|e,HCunBW| |00002f50| 68 69 74 65 2c 48 43 67 | 72 61 70 68 69 63 2c 22 |hite,HCg|raphic,"| |00002f60| 20 26 c2 0d 22 48 43 75 | 6e 47 72 61 70 68 69 63 | &.."HCu|nGraphic| |00002f70| 2c 6e 6f 45 72 72 6f 72 | 73 2c 66 6f 72 63 65 43 |,noError|s,forceC| |00002f80| 6f 6c 6f 72 2c 66 6f 72 | 63 65 42 57 2c 57 69 6e |olor,for|ceBW,Win| |00002f90| 64 6f 77 73 2c 6c 65 61 | 76 65 43 75 72 73 6f 72 |dows,lea|veCursor| |00002fa0| 2c 22 20 26 c2 0d 22 6e | 6f 56 69 73 75 61 6c 73 |," &.."n|oVisuals| |00002fb0| 2c 6e 6f 56 69 73 75 61 | 6c 73 49 6e 43 6f 6c 6f |,noVisua|lsInColo| |00002fc0| 72 2c 64 62 43 6f 6c 6f | 72 69 7a 65 48 43 2c 48 |r,dbColo|rizeHC,H| |00002fd0| 43 70 72 65 47 72 61 70 | 68 69 63 2c 48 43 69 6e |CpreGrap|hic,HCin| |00002fe0| 69 74 2c 48 43 75 6e 49 | 6e 69 74 22 0d 65 6e 64 |it,HCunI|nit".end| |00002ff0| 20 63 48 43 4f 70 74 69 | 6f 6e 73 0d 0d 6f 6e 20 | cHCOpti|ons..on | |00003000| 73 65 74 4f 70 74 69 6f | 6e 73 20 6f 70 74 69 6f |setOptio|ns optio| |00003010| 6e 73 0d 67 6c 6f 62 61 | 6c 20 67 48 43 4f 70 74 |ns.globa|l gHCOpt| |00003020| 69 6f 6e 73 0d 70 75 74 | 20 22 30 30 30 30 30 30 |ions.put| "000000| |00003030| 30 30 30 30 30 30 30 30 | 30 30 30 22 20 69 6e 74 |00000000|000" int| |00003040| 6f 20 67 48 43 4f 70 74 | 69 6f 6e 73 20 2d 2d 20 |o gHCOpt|ions -- | |00003050| 31 37 20 30 d5 73 0d 69 | 66 20 6f 70 74 69 6f 6e |17 0.s.i|f option| |00003060| 73 20 3d 20 65 6d 70 74 | 79 20 74 68 65 6e 20 2d |s = empt|y then -| |00003070| 2d 20 66 6f 72 20 62 61 | 63 6b 77 61 72 64 73 20 |- for ba|ckwards | |00003080| 63 6f 6d 70 61 74 61 62 | 69 6c 69 74 79 0d 70 75 |compatab|ility.pu| |00003090| 74 20 22 31 31 22 20 69 | 6e 74 6f 20 63 68 61 72 |t "11" i|nto char| |000030a0| 20 31 20 74 6f 20 32 20 | 6f 66 20 67 48 43 4f 70 | 1 to 2 |of gHCOp| |000030b0| 74 69 6f 6e 73 0d 65 78 | 69 74 20 73 65 74 4f 70 |tions.ex|it setOp| |000030c0| 74 69 6f 6e 73 0d 65 6e | 64 20 69 66 0d 70 75 74 |tions.en|d if.put| |000030d0| 20 63 48 43 4f 70 74 69 | 6f 6e 73 28 29 20 69 6e | cHCOpti|ons() in| |000030e0| 74 6f 20 6b 6e 6f 77 6e | 0d 72 65 70 65 61 74 20 |to known|.repeat | |000030f0| 77 69 74 68 20 69 20 3d | 20 31 20 74 6f 20 74 68 |with i =| 1 to th| |00003100| 65 20 6e 75 6d 62 65 72 | 20 6f 66 20 69 74 65 6d |e number| of item| |00003110| 73 20 6f 66 20 6f 70 74 | 69 6f 6e 73 0d 67 65 74 |s of opt|ions.get| |00003120| 20 69 74 65 6d 20 69 20 | 6f 66 20 6f 70 74 69 6f | item i |of optio| |00003130| 6e 73 0d 69 66 20 69 74 | 20 ad 20 65 6d 70 74 79 |ns.if it| . empty| |00003140| 20 74 68 65 6e 0d 70 75 | 74 20 46 61 6c 73 65 20 | then.pu|t False | |00003150| 69 6e 74 6f 20 66 6f 75 | 6e 64 0d 72 65 70 65 61 |into fou|nd.repea| |00003160| 74 20 77 69 74 68 20 6b | 20 3d 20 31 20 74 6f 20 |t with k| = 1 to | |00003170| 74 68 65 20 6e 75 6d 62 | 65 72 20 6f 66 20 69 74 |the numb|er of it| |00003180| 65 6d 73 20 6f 66 20 6b | 6e 6f 77 6e 0d 69 66 20 |ems of k|nown.if | |00003190| 69 74 20 3d 20 69 74 65 | 6d 20 6b 20 6f 66 20 6b |it = ite|m k of k| |000031a0| 6e 6f 77 6e 20 74 68 65 | 6e 0d 70 75 74 20 31 20 |nown the|n.put 1 | |000031b0| 69 6e 74 6f 20 63 68 61 | 72 20 6b 20 6f 66 20 67 |into cha|r k of g| |000031c0| 48 43 4f 70 74 69 6f 6e | 73 0d 70 75 74 20 54 72 |HCOption|s.put Tr| |000031d0| 75 65 20 69 6e 74 6f 20 | 66 6f 75 6e 64 0d 65 78 |ue into |found.ex| |000031e0| 69 74 20 72 65 70 65 61 | 74 0d 65 6e 64 20 69 66 |it repea|t.end if| |000031f0| 0d 65 6e 64 20 72 65 70 | 65 61 74 0d 69 66 20 6e |.end rep|eat.if n| |00003200| 6f 74 20 66 6f 75 6e 64 | 20 74 68 65 6e 20 61 6e |ot found| then an| |00003210| 73 77 65 72 20 22 55 6e | 6b 6e 6f 77 6e 20 6f 70 |swer "Un|known op| |00003220| 74 69 6f 6e 2e 20 49 67 | 6e 6f 72 69 6e 67 3a 22 |tion. Ig|noring:"| |00003230| 20 26 26 20 69 74 0d 65 | 6e 64 20 69 66 0d 65 6e | && it.e|nd if.en| |00003240| 64 20 72 65 70 65 61 74 | 0d 69 66 20 63 68 61 72 |d repeat|.if char| |00003250| 20 38 20 74 6f 20 39 20 | 6f 66 20 67 48 43 4f 70 | 8 to 9 |of gHCOp| |00003260| 74 69 6f 6e 73 20 3d 20 | 22 31 31 22 20 74 68 65 |tions = |"11" the| |00003270| 6e 0d 61 6e 73 77 65 72 | 20 22 59 6f 75 20 63 61 |n.answer| "You ca| |00003280| 6e 6e 6f 74 20 73 65 74 | 20 62 6f 74 68 20 66 6f |nnot set| both fo| |00003290| 72 63 65 43 6f 6c 6f 72 | 20 61 6e 64 20 66 6f 72 |rceColor| and for| |000032a0| 63 65 42 57 2e 20 49 67 | 6e 6f 72 69 6e 67 20 62 |ceBW. Ig|noring b| |000032b0| 6f 74 68 21 22 0d 70 75 | 74 20 22 30 30 22 20 69 |oth!".pu|t "00" i| |000032c0| 6e 74 6f 20 63 68 61 72 | 20 38 20 74 6f 20 39 20 |nto char| 8 to 9 | |000032d0| 6f 66 20 67 48 43 4f 70 | 74 69 6f 6e 73 0d 65 6e |of gHCOp|tions.en| |000032e0| 64 20 69 66 0d 65 6e 64 | 20 73 65 74 4f 70 74 69 |d if.end| setOpti| |000032f0| 6f 6e 73 0d 0d 66 75 6e | 63 74 69 6f 6e 20 63 48 |ons..fun|ction cH| |00003300| 43 63 75 72 72 4f 70 74 | 69 6f 6e 73 0d 67 6c 6f |CcurrOpt|ions.glo| |00003310| 62 61 6c 20 67 48 43 6f | 70 74 69 6f 6e 73 0d 70 |bal gHCo|ptions.p| |00003320| 75 74 20 63 48 43 4f 70 | 74 69 6f 6e 73 28 29 20 |ut cHCOp|tions() | |00003330| 69 6e 74 6f 20 6e 61 6d | 65 73 0d 70 75 74 20 65 |into nam|es.put e| |00003340| 6d 70 74 79 20 69 6e 74 | 6f 20 72 65 73 75 6c 74 |mpty int|o result| |00003350| 0d 72 65 70 65 61 74 20 | 77 69 74 68 20 69 20 3d |.repeat |with i =| |00003360| 20 31 20 74 6f 20 74 68 | 65 20 6e 75 6d 62 65 72 | 1 to th|e number| |00003370| 20 6f 66 20 63 68 61 72 | 73 20 6f 66 20 67 48 43 | of char|s of gHC| |00003380| 6f 70 74 69 6f 6e 73 0d | 69 66 20 63 68 61 72 20 |options.|if char | |00003390| 69 20 6f 66 20 67 48 43 | 6f 70 74 69 6f 6e 73 20 |i of gHC|options | |000033a0| 3d 20 31 0d 74 68 65 6e | 20 70 75 74 20 69 74 65 |= 1.then| put ite| |000033b0| 6d 20 69 20 6f 66 20 6e | 61 6d 65 73 20 26 20 22 |m i of n|ames & "| |000033c0| 2c 22 20 61 66 74 65 72 | 20 72 65 73 75 6c 74 0d |," after| result.| |000033d0| 65 6e 64 20 72 65 70 65 | 61 74 0d 69 66 20 72 65 |end repe|at.if re| |000033e0| 73 75 6c 74 20 ad 20 65 | 6d 70 74 79 20 74 68 65 |sult . e|mpty the| |000033f0| 6e 20 64 65 6c 65 74 65 | 20 6c 61 73 74 20 63 68 |n delete| last ch| |00003400| 61 72 20 6f 66 20 72 65 | 73 75 6c 74 20 2d 2d 20 |ar of re|sult -- | |00003410| 74 72 61 69 6c 69 6e 67 | 20 22 2c 22 0d 73 6f 72 |trailing| ",".sor| |00003420| 74 20 69 74 65 6d 73 20 | 6f 66 20 72 65 73 75 6c |t items |of resul| |00003430| 74 0d 72 65 74 75 72 6e | 20 72 65 73 75 6c 74 0d |t.return| result.| |00003440| 65 6e 64 20 63 48 43 63 | 75 72 72 4f 70 74 69 6f |end cHCc|urrOptio| |00003450| 6e 73 0d 0d 6f 6e 20 4f | 75 74 4f 66 44 61 74 65 |ns..on O|utOfDate| |00003460| 20 6e 61 6d 65 0d 61 6e | 73 77 65 72 20 22 59 6f | name.an|swer "Yo| |00003470| 75 20 61 72 65 20 61 70 | 70 61 72 65 6e 74 6c 79 |u are ap|parently| |00003480| 20 75 73 69 6e 67 20 61 | 20 70 72 65 2d 76 65 72 | using a| pre-ver| |00003490| 73 69 6f 6e 20 31 2e 30 | 2e 33 20 63 61 6c 6c 20 |sion 1.0|.3 call | |000034a0| 74 6f 22 20 26 26 20 c2 | 0d 6e 61 6d 65 20 26 20 |to" && .|.name & | |000034b0| 22 2e 20 59 6f 75 20 77 | 69 6c 6c 20 6e 65 65 64 |". You w|ill need| |000034c0| 20 74 6f 20 6d 6f 64 69 | 66 79 20 79 6f 75 72 20 | to modi|fy your | |000034d0| 73 63 72 69 70 74 73 20 | 62 65 66 6f 72 65 20 63 |scripts |before c| |000034e0| 6f 6e 74 69 6e 75 69 6e | 67 2e 22 20 26 26 20 c2 |ontinuin|g." && .| |000034f0| 0d 22 49 6e 69 74 69 61 | 6c 69 73 61 74 69 6f 6e |."Initia|lisation| |00003500| 20 61 62 6f 72 74 65 64 | 2e 22 0d 65 78 69 74 20 | aborted|.".exit | |00003510| 74 6f 20 68 79 70 65 72 | 63 61 72 64 0d 65 6e 64 |to hyper|card.end| |00003520| 20 4f 75 74 4f 66 44 61 | 74 65 0d 0d 6f 6e 20 73 | OutOfDa|te..on s| |00003530| 74 6f 72 65 53 74 61 74 | 65 0d 67 6c 6f 62 61 6c |toreStat|e.global| |00003540| 20 67 48 43 6f 70 74 69 | 6f 6e 73 2c 67 48 43 75 | gHCopti|ons,gHCu| |00003550| 73 65 72 2c 67 48 43 75 | 73 65 72 53 2c 67 48 43 |ser,gHCu|serS,gHC| |00003560| 75 73 65 72 42 2c 67 48 | 43 6b 65 70 74 4e 61 6d |userB,gH|CkeptNam| |00003570| 65 73 0d 67 65 74 20 74 | 68 65 20 76 61 6c 75 65 |es.get t|he value| |00003580| 20 6f 66 20 77 6f 72 64 | 20 32 20 6f 66 20 74 68 | of word| 2 of th| |00003590| 65 20 6c 6f 6e 67 20 6e | 61 6d 65 20 6f 66 20 74 |e long n|ame of t| |000035a0| 68 69 73 20 73 74 61 63 | 6b 0d 72 65 70 65 61 74 |his stac|k.repeat| |000035b0| 20 77 69 74 68 20 69 20 | 3d 20 31 20 74 6f 20 74 | with i |= 1 to t| |000035c0| 68 65 20 6e 75 6d 62 65 | 72 20 6f 66 20 6c 69 6e |he numbe|r of lin| |000035d0| 65 73 20 6f 66 20 67 48 | 43 6b 65 70 74 4e 61 6d |es of gH|CkeptNam| |000035e0| 65 73 0d 69 66 20 6c 69 | 6e 65 20 69 20 6f 66 20 |es.if li|ne i of | |000035f0| 67 48 43 6b 65 70 74 4e | 61 6d 65 73 20 3d 20 69 |gHCkeptN|ames = i| |00003600| 74 20 74 68 65 6e 0d 67 | 65 74 20 22 67 48 43 6b |t then.g|et "gHCk| |00003610| 70 75 22 20 26 20 69 0d | 64 6f 20 22 67 6c 6f 62 |pu" & i.|do "glob| |00003620| 61 6c 22 20 26 26 20 69 | 74 20 26 20 72 65 74 75 |al" && i|t & retu| |00003630| 72 6e 20 26 20 22 70 75 | 74 20 67 48 43 75 73 65 |rn & "pu|t gHCuse| |00003640| 72 20 69 6e 74 6f 22 20 | 26 26 20 69 74 0d 67 65 |r into" |&& it.ge| |00003650| 74 20 22 67 48 43 6b 70 | 73 22 20 26 20 69 0d 64 |t "gHCkp|s" & i.d| |00003660| 6f 20 22 67 6c 6f 62 61 | 6c 22 20 26 26 20 69 74 |o "globa|l" && it| |00003670| 20 26 20 72 65 74 75 72 | 6e 20 26 20 22 70 75 74 | & retur|n & "put| |00003680| 20 67 48 43 75 73 65 72 | 53 20 69 6e 74 6f 22 20 | gHCuser|S into" | |00003690| 26 26 20 69 74 0d 67 65 | 74 20 22 67 48 43 6b 70 |&& it.ge|t "gHCkp| |000036a0| 62 22 20 26 20 69 0d 64 | 6f 20 22 67 6c 6f 62 61 |b" & i.d|o "globa| |000036b0| 6c 22 20 26 26 20 69 74 | 20 26 20 72 65 74 75 72 |l" && it| & retur| |000036c0| 6e 20 26 20 22 70 75 74 | 20 67 48 43 75 73 65 72 |n & "put| gHCuser| |000036d0| 42 20 69 6e 74 6f 22 20 | 26 26 20 69 74 0d 67 65 |B into" |&& it.ge| |000036e0| 74 20 22 67 48 43 6b 70 | 6f 22 20 26 20 69 0d 64 |t "gHCkp|o" & i.d| |000036f0| 6f 20 22 67 6c 6f 62 61 | 6c 22 20 26 26 20 69 74 |o "globa|l" && it| |00003700| 20 26 20 72 65 74 75 72 | 6e 20 26 20 22 70 75 74 | & retur|n & "put| |00003710| 20 67 48 43 6f 70 74 69 | 6f 6e 73 20 69 6e 74 6f | gHCopti|ons into| |00003720| 22 20 26 26 20 69 74 0d | 65 78 69 74 20 73 74 6f |" && it.|exit sto| |00003730| 72 65 53 74 61 74 65 0d | 65 6e 64 20 69 66 0d 65 |reState.|end if.e| |00003740| 6e 64 20 72 65 70 65 61 | 74 0d 2d 2d 20 61 64 64 |nd repea|t.-- add| |00003750| 20 6e 65 77 20 65 6e 74 | 72 79 0d 70 75 74 20 69 | new ent|ry.put i| |00003760| 74 20 26 20 72 65 74 75 | 72 6e 20 61 66 74 65 72 |t & retu|rn after| |00003770| 20 67 48 43 6b 65 70 74 | 4e 61 6d 65 73 0d 70 75 | gHCkept|Names.pu| |00003780| 74 20 74 68 65 20 6e 75 | 6d 62 65 72 20 6f 66 20 |t the nu|mber of | |00003790| 6c 69 6e 65 73 20 6f 66 | 20 67 48 43 6b 65 70 74 |lines of| gHCkept| |000037a0| 4e 61 6d 65 73 20 69 6e | 74 6f 20 6c 69 6e 65 73 |Names in|to lines| |000037b0| 0d 67 65 74 20 22 67 48 | 43 6b 70 75 22 20 26 20 |.get "gH|Ckpu" & | |000037c0| 6c 69 6e 65 73 0d 64 6f | 20 22 67 6c 6f 62 61 6c |lines.do| "global| |000037d0| 22 20 26 26 20 69 74 20 | 26 20 72 65 74 75 72 6e |" && it |& return| |000037e0| 20 26 20 22 70 75 74 20 | 67 48 43 75 73 65 72 20 | & "put |gHCuser | |000037f0| 69 6e 74 6f 22 20 26 26 | 20 69 74 0d 67 65 74 20 |into" &&| it.get | |00003800| 22 67 48 43 6b 70 73 22 | 20 26 20 6c 69 6e 65 73 |"gHCkps"| & lines| |00003810| 0d 64 6f 20 22 67 6c 6f | 62 61 6c 22 20 26 26 20 |.do "glo|bal" && | |00003820| 69 74 20 26 20 72 65 74 | 75 72 6e 20 26 20 22 70 |it & ret|urn & "p| |00003830| 75 74 20 67 48 43 75 73 | 65 72 53 20 69 6e 74 6f |ut gHCus|erS into| |00003840| 22 20 26 26 20 69 74 0d | 67 65 74 20 22 67 48 43 |" && it.|get "gHC| |00003850| 6b 70 62 22 20 26 20 6c | 69 6e 65 73 0d 64 6f 20 |kpb" & l|ines.do | |00003860| 22 67 6c 6f 62 61 6c 22 | 20 26 26 20 69 74 20 26 |"global"| && it &| |00003870| 20 72 65 74 75 72 6e 20 | 26 20 22 70 75 74 20 67 | return |& "put g| |00003880| 48 43 75 73 65 72 42 20 | 69 6e 74 6f 22 20 26 26 |HCuserB |into" &&| |00003890| 20 69 74 0d 67 65 74 20 | 22 67 48 43 6b 70 6f 22 | it.get |"gHCkpo"| |000038a0| 20 26 20 6c 69 6e 65 73 | 0d 64 6f 20 22 67 6c 6f | & lines|.do "glo| |000038b0| 62 61 6c 22 20 26 26 20 | 69 74 20 26 20 72 65 74 |bal" && |it & ret| |000038c0| 75 72 6e 20 26 20 22 70 | 75 74 20 67 48 43 6f 70 |urn & "p|ut gHCop| |000038d0| 74 69 6f 6e 73 20 69 6e | 74 6f 22 20 26 26 20 69 |tions in|to" && i| |000038e0| 74 0d 65 6e 64 20 73 74 | 6f 72 65 53 74 61 74 65 |t.end st|oreState| |000038f0| 0d 0d 6f 6e 20 72 65 73 | 74 6f 72 65 53 74 61 74 |..on res|toreStat| |00003900| 65 20 55 73 65 72 4f 6e | 6c 79 0d 67 6c 6f 62 61 |e UserOn|ly.globa| |00003910| 6c 20 67 48 43 6f 70 74 | 69 6f 6e 73 2c 67 48 43 |l gHCopt|ions,gHC| |00003920| 75 73 65 72 2c 67 48 43 | 75 73 65 72 42 2c 67 48 |user,gHC|userB,gH| |00003930| 43 75 73 65 72 53 2c 67 | 48 43 6b 65 70 74 4e 61 |CuserS,g|HCkeptNa| |00003940| 6d 65 73 0d 70 75 74 20 | 65 6d 70 74 79 20 69 6e |mes.put |empty in| |00003950| 74 6f 20 67 48 43 75 73 | 65 72 20 2d 2d 20 69 6e |to gHCus|er -- in| |00003960| 20 63 61 73 65 20 6e 6f | 6e 65 20 66 6f 75 6e 64 | case no|ne found| |00003970| 20 69 6e 20 73 74 6f 72 | 65 0d 70 75 74 20 65 6d | in stor|e.put em| |00003980| 70 74 79 20 69 6e 74 6f | 20 67 48 43 75 73 65 72 |pty into| gHCuser| |00003990| 42 0d 70 75 74 20 65 6d | 70 74 79 20 69 6e 74 6f |B.put em|pty into| |000039a0| 20 67 48 43 75 73 65 72 | 53 0d 69 66 20 55 73 65 | gHCuser|S.if Use| |000039b0| 72 4f 6e 6c 79 20 ad 20 | 54 72 75 65 20 74 68 65 |rOnly . |True the| |000039c0| 6e 20 70 75 74 20 65 6d | 70 74 79 20 69 6e 74 6f |n put em|pty into| |000039d0| 20 67 48 43 6f 70 74 69 | 6f 6e 73 0d 67 65 74 20 | gHCopti|ons.get | |000039e0| 74 68 65 20 76 61 6c 75 | 65 20 6f 66 20 77 6f 72 |the valu|e of wor| |000039f0| 64 20 32 20 6f 66 20 74 | 68 65 20 6c 6f 6e 67 20 |d 2 of t|he long | |00003a00| 6e 61 6d 65 20 6f 66 20 | 74 68 69 73 20 73 74 61 |name of |this sta| |00003a10| 63 6b 0d 72 65 70 65 61 | 74 20 77 69 74 68 20 69 |ck.repea|t with i| |00003a20| 20 3d 20 31 20 74 6f 20 | 74 68 65 20 6e 75 6d 62 | = 1 to |the numb| |00003a30| 65 72 20 6f 66 20 6c 69 | 6e 65 73 20 6f 66 20 67 |er of li|nes of g| |00003a40| 48 43 6b 65 70 74 4e 61 | 6d 65 73 0d 69 66 20 6c |HCkeptNa|mes.if l| |00003a50| 69 6e 65 20 69 20 6f 66 | 20 67 48 43 6b 65 70 74 |ine i of| gHCkept| |00003a60| 4e 61 6d 65 73 20 3d 20 | 69 74 20 74 68 65 6e 0d |Names = |it then.| |00003a70| 67 65 74 20 22 67 48 43 | 6b 70 75 22 20 26 20 69 |get "gHC|kpu" & i| |00003a80| 0d 64 6f 20 22 67 6c 6f | 62 61 6c 22 20 26 26 20 |.do "glo|bal" && | |00003a90| 69 74 20 26 20 72 65 74 | 75 72 6e 20 26 20 22 70 |it & ret|urn & "p| |00003aa0| 75 74 22 20 26 26 20 69 | 74 20 26 26 20 22 69 6e |ut" && i|t && "in| |00003ab0| 74 6f 20 67 48 43 75 73 | 65 72 22 0d 67 65 74 20 |to gHCus|er".get | |00003ac0| 22 67 48 43 6b 70 73 22 | 20 26 20 69 0d 64 6f 20 |"gHCkps"| & i.do | |00003ad0| 22 67 6c 6f 62 61 6c 22 | 20 26 26 20 69 74 20 26 |"global"| && it &| |00003ae0| 20 72 65 74 75 72 6e 20 | 26 20 22 70 75 74 22 20 | return |& "put" | |00003af0| 26 26 20 69 74 20 26 26 | 20 22 69 6e 74 6f 20 67 |&& it &&| "into g| |00003b00| 48 43 75 73 65 72 53 22 | 0d 67 65 74 20 22 67 48 |HCuserS"|.get "gH| |00003b10| 43 6b 70 62 22 20 26 20 | 69 0d 64 6f 20 22 67 6c |Ckpb" & |i.do "gl| |00003b20| 6f 62 61 6c 22 20 26 26 | 20 69 74 20 26 20 72 65 |obal" &&| it & re| |00003b30| 74 75 72 6e 20 26 20 22 | 70 75 74 22 20 26 26 20 |turn & "|put" && | |00003b40| 69 74 20 26 26 20 22 69 | 6e 74 6f 20 67 48 43 75 |it && "i|nto gHCu| |00003b50| 73 65 72 42 22 0d 69 66 | 20 55 73 65 72 4f 6e 6c |serB".if| UserOnl| |00003b60| 79 20 ad 20 54 72 75 65 | 20 74 68 65 6e 0d 67 65 |y . True| then.ge| |00003b70| 74 20 22 67 48 43 6b 70 | 6f 22 20 26 20 69 0d 64 |t "gHCkp|o" & i.d| |00003b80| 6f 20 22 67 6c 6f 62 61 | 6c 22 20 26 26 20 69 74 |o "globa|l" && it| |00003b90| 20 26 20 72 65 74 75 72 | 6e 20 26 20 22 70 75 74 | & retur|n & "put| |00003ba0| 22 20 26 26 20 69 74 20 | 26 26 20 22 69 6e 74 6f |" && it |&& "into| |00003bb0| 20 67 48 43 6f 70 74 69 | 6f 6e 73 22 0d 65 6e 64 | gHCopti|ons".end| |00003bc0| 20 69 66 0d 65 78 69 74 | 20 72 65 70 65 61 74 0d | if.exit| repeat.| |00003bd0| 65 6e 64 20 69 66 0d 65 | 6e 64 20 72 65 70 65 61 |end if.e|nd repea| |00003be0| 74 0d 65 6e 64 20 72 65 | 73 74 6f 72 65 53 74 61 |t.end re|storeSta| |00003bf0| 74 65 0d 0d 6f 6e 20 73 | 74 61 72 74 44 65 62 75 |te..on s|tartDebu| |00003c00| 67 0d 69 66 20 74 68 65 | 72 65 20 69 73 20 61 20 |g.if the|re is a | |00003c10| 73 74 61 63 6b 20 22 43 | 6f 6c 6f 72 69 7a 69 6e |stack "C|olorizin| |00003c20| 67 20 48 43 20 44 65 62 | 75 67 22 20 74 68 65 6e |g HC Deb|ug" then| |00003c30| 0d 67 6c 6f 62 61 6c 20 | 67 48 43 64 65 62 75 67 |.global |gHCdebug| |00003c40| 49 6e 69 74 0d 70 75 74 | 20 65 6d 70 74 79 20 69 |Init.put| empty i| |00003c50| 6e 74 6f 20 67 48 43 64 | 65 62 75 67 49 6e 69 74 |nto gHCd|ebugInit| |00003c60| 0d 73 74 61 72 74 20 75 | 73 69 6e 67 20 73 74 61 |.start u|sing sta| |00003c70| 63 6b 20 22 43 6f 6c 6f | 72 69 7a 69 6e 67 20 48 |ck "Colo|rizing H| |00003c80| 43 20 44 65 62 75 67 22 | 0d 65 6c 73 65 0d 61 6e |C Debug"|.else.an| |00003c90| 73 77 65 72 20 22 43 61 | 6e d5 74 20 66 69 6e 64 |swer "Ca|n.t find| |00003ca0| 20 73 74 61 63 6b 20 27 | 43 6f 6c 6f 72 69 7a 69 | stack '|Colorizi| |00003cb0| 6e 67 20 48 43 20 58 43 | 4d 44 27 20 d0 20 69 67 |ng HC XC|MD' . ig| |00003cc0| 6e 6f 72 69 6e 67 20 64 | 62 43 6f 6c 6f 72 69 7a |noring d|bColoriz| |00003cd0| 69 6e 67 48 43 22 0d 65 | 6e 64 20 69 66 0d 65 6e |ingHC".e|nd if.en| |00003ce0| 64 20 73 74 61 72 74 44 | 65 62 75 67 0d 0d 6f 6e |d startD|ebug..on| |00003cf0| 20 63 48 43 73 65 74 55 | 70 20 55 73 65 43 6f 6c | cHCsetU|p UseCol| |00003d00| 6f 72 2c 20 73 69 6c 65 | 6e 74 2c 20 6f 70 74 69 |or, sile|nt, opti| |00003d10| 6f 6e 73 2c 20 64 65 70 | 74 68 2c 20 49 6e 53 74 |ons, dep|th, InSt| |00003d20| 61 72 74 20 2d 2d 20 6f | 6c 64 20 6e 61 6d 65 0d |art -- o|ld name.| |00003d30| 63 48 43 6f 70 65 6e 20 | 55 73 65 43 6f 6c 6f 72 |cHCopen |UseColor| |00003d40| 2c 20 73 69 6c 65 6e 74 | 2c 20 6f 70 74 69 6f 6e |, silent|, option| |00003d50| 73 2c 20 64 65 70 74 68 | 2c 20 49 6e 53 74 61 72 |s, depth|, InStar| |00003d60| 74 0d 65 6e 64 20 63 48 | 43 73 65 74 55 70 0d 0d |t.end cH|CsetUp..| |00003d70| 6f 6e 20 63 48 43 6f 70 | 65 6e 20 55 73 65 43 6f |on cHCop|en UseCo| |00003d80| 6c 6f 72 2c 20 73 69 6c | 65 6e 74 2c 20 6f 70 74 |lor, sil|ent, opt| |00003d90| 69 6f 6e 73 2c 20 64 65 | 70 74 68 2c 20 49 6e 53 |ions, de|pth, InS| |00003da0| 74 61 72 74 0d 69 66 20 | 6f 70 74 69 6f 6e 73 20 |tart.if |options | |00003db0| 69 73 20 61 20 6c 6f 67 | 69 63 61 6c 20 74 68 65 |is a log|ical the| |00003dc0| 6e 20 2d 2d 20 75 73 65 | 64 20 74 6f 20 62 65 20 |n -- use|d to be | |00003dd0| 42 57 6d 65 73 73 61 67 | 65 73 0d 4f 75 74 4f 66 |BWmessag|es.OutOf| |00003de0| 44 61 74 65 20 22 63 48 | 43 73 65 74 55 70 22 0d |Date "cH|CsetUp".| |00003df0| 65 6e 64 20 69 66 0d 0d | 67 6c 6f 62 61 6c 20 67 |end if..|global g| |00003e00| 4f 4b 74 6f 43 6f 6c 6f | 72 69 7a 65 2c 20 67 48 |OKtoColo|rize, gH| |00003e10| 43 6f 70 74 69 6f 6e 73 | 2c 20 67 48 43 75 73 65 |Coptions|, gHCuse| |00003e20| 72 2c 20 67 48 43 75 73 | 65 72 53 2c 20 67 48 43 |r, gHCus|erS, gHC| |00003e30| 75 73 65 72 42 2c 20 67 | 48 43 6d 61 78 44 65 70 |userB, g|HCmaxDep| |00003e40| 74 68 0d 70 75 74 20 4d | 61 78 44 65 70 74 68 28 |th.put M|axDepth(| |00003e50| 29 20 69 6e 74 6f 20 67 | 48 43 6d 61 78 44 65 70 |) into g|HCmaxDep| |00003e60| 74 68 0d 0d 69 66 20 69 | 6e 53 74 61 72 74 20 3d |th..if i|nStart =| |00003e70| 20 54 72 75 65 20 74 68 | 65 6e 20 73 65 74 4f 70 | True th|en setOp| |00003e80| 74 69 6f 6e 73 20 6f 70 | 74 69 6f 6e 73 0d 65 6c |tions op|tions.el| |00003e90| 73 65 0d 72 65 73 74 6f | 72 65 53 74 61 74 65 0d |se.resto|reState.| |00003ea0| 69 66 20 67 48 43 6f 70 | 74 69 6f 6e 73 20 3d 20 |if gHCop|tions = | |00003eb0| 65 6d 70 74 79 20 74 68 | 65 6e 20 73 65 74 4f 70 |empty th|en setOp| |00003ec0| 74 69 6f 6e 73 20 6f 70 | 74 69 6f 6e 73 20 2d 2d |tions op|tions --| |00003ed0| 20 66 69 72 73 74 20 74 | 69 6d 65 0d 65 6c 73 65 | first t|ime.else| |00003ee0| 20 69 66 20 73 69 6c 65 | 6e 74 20 ad 20 4e 6f 20 | if sile|nt . No | |00003ef0| 74 68 65 6e 20 70 75 74 | 20 54 72 75 65 20 69 6e |then put| True in| |00003f00| 74 6f 20 53 69 6c 65 6e | 74 0d 65 6e 64 20 69 66 |to Silen|t.end if| |00003f10| 0d 0d 69 66 20 55 73 65 | 43 6f 6c 6f 72 20 ad 20 |..if Use|Color . | |00003f20| 46 61 6c 73 65 20 74 68 | 65 6e 0d 69 66 20 6d 61 |False th|en.if ma| |00003f30| 78 44 65 70 74 68 28 29 | 3d 31 20 61 6e 64 20 63 |xDepth()|=1 and c| |00003f40| 68 61 72 20 38 20 6f 66 | 20 67 48 43 6f 70 74 69 |har 8 of| gHCopti| |00003f50| 6f 6e 73 20 ad 20 31 20 | 6f 72 c2 20 2d 2d 20 66 |ons . 1 |or. -- f| |00003f60| 6f 72 63 65 43 6f 6c 6f | 72 0d 63 68 61 72 20 39 |orceColo|r.char 9| |00003f70| 20 6f 66 20 67 48 43 6f | 70 74 69 6f 6e 73 20 3d | of gHCo|ptions =| |00003f80| 20 31 20 74 68 65 6e 20 | 2d 2d 20 66 6f 72 63 65 | 1 then |-- force| |00003f90| 42 57 0d 69 66 20 73 69 | 6c 65 6e 74 20 ad 20 54 |BW.if si|lent . T| |00003fa0| 72 75 65 20 74 68 65 6e | 0d 61 6e 73 77 65 72 20 |rue then|.answer | |00003fb0| 22 57 61 72 6e 69 6e 67 | 3a 20 43 6f 6c 6f 72 73 |"Warning|: Colors| |00003fc0| 20 61 6e 64 20 63 6f 6c | 6f 72 65 64 20 62 69 74 | and col|ored bit| |00003fd0| 6d 61 70 73 20 77 69 6c | 6c 20 6e 6f 74 20 61 70 |maps wil|l not ap| |00003fe0| 70 65 61 72 20 6f 6e 20 | 74 68 69 73 22 20 26 26 |pear on |this" &&| |00003ff0| 20 c2 0d 22 6d 6f 6e 6f | 63 68 72 6f 6d 65 20 6d | .."mono|chrome m| |00004000| 6f 6e 69 74 6f 72 2e 22 | 0d 65 6e 64 20 69 66 0d |onitor."|.end if.| |00004010| 63 48 43 64 69 73 70 6f | 73 65 0d 65 6c 73 65 0d |cHCdispo|se.else.| |00004020| 63 48 43 69 6e 73 74 61 | 6c 6c 20 64 65 70 74 68 |cHCinsta|ll depth| |00004030| 0d 69 66 20 63 68 61 72 | 20 38 20 6f 66 20 67 48 |.if char| 8 of gH| |00004040| 43 6f 70 74 69 6f 6e 73 | 20 3d 20 31 20 74 68 65 |Coptions| = 1 the| |00004050| 6e 20 70 75 74 20 65 6d | 70 74 79 20 69 6e 74 6f |n put em|pty into| |00004060| 20 67 4f 6b 54 6f 43 6f | 6c 6f 72 69 7a 65 0d 69 | gOkToCo|lorize.i| |00004070| 66 20 67 4f 6b 54 6f 43 | 6f 6c 6f 72 69 7a 65 20 |f gOkToC|olorize | |00004080| ad 20 65 6d 70 74 79 20 | 74 68 65 6e 20 63 48 43 |. empty |then cHC| |00004090| 64 69 73 70 6f 73 65 20 | 20 2d 2d 20 74 69 64 79 |dispose | -- tidy| |000040a0| 20 75 70 0d 65 6e 64 20 | 69 66 0d 65 6c 73 65 0d | up.end |if.else.| |000040b0| 63 48 43 64 69 73 70 6f | 73 65 0d 65 6e 64 20 69 |cHCdispo|se.end i| |000040c0| 66 0d 0d 69 66 20 63 68 | 61 72 20 31 34 20 6f 66 |f..if ch|ar 14 of| |000040d0| 20 67 48 43 4f 70 74 69 | 6f 6e 73 20 3d 20 31 20 | gHCOpti|ons = 1 | |000040e0| 74 68 65 6e 20 73 74 61 | 72 74 44 65 62 75 67 0d |then sta|rtDebug.| |000040f0| 0d 69 66 20 69 6e 53 74 | 61 72 74 20 ad 20 54 72 |.if inSt|art . Tr| |00004100| 75 65 20 61 6e 64 20 63 | 68 61 72 20 31 36 20 6f |ue and c|har 16 o| |00004110| 66 20 67 48 43 6f 70 74 | 69 6f 6e 73 20 3d 20 31 |f gHCopt|ions = 1| |00004120| 0d 74 68 65 6e 20 73 65 | 6e 64 20 48 43 69 6e 69 |.then se|nd HCini| |00004130| 74 20 74 6f 20 74 68 69 | 73 20 63 61 72 64 0d 65 |t to thi|s card.e| |00004140| 6e 64 20 63 48 43 6f 70 | 65 6e 0d 0d 6f 6e 20 63 |nd cHCop|en..on c| |00004150| 48 43 73 74 61 72 74 20 | 55 73 65 43 6f 6c 6f 72 |HCstart |UseColor| |00004160| 2c 20 73 69 6c 65 6e 74 | 2c 20 6f 70 74 69 6f 6e |, silent|, option| |00004170| 73 2c 20 64 65 70 74 68 | 0d 69 66 20 6f 70 74 69 |s, depth|.if opti| |00004180| 6f 6e 73 20 69 73 20 61 | 20 6c 6f 67 69 63 61 6c |ons is a| logical| |00004190| 20 74 68 65 6e 20 2d 2d | 20 75 73 65 64 20 74 6f | then --| used to| |000041a0| 20 62 65 20 42 57 6d 65 | 73 73 61 67 65 73 0d 4f | be BWme|ssages.O| |000041b0| 75 74 4f 66 44 61 74 65 | 20 22 63 48 43 73 74 61 |utOfDate| "cHCsta| |000041c0| 72 74 22 0d 65 6e 64 20 | 69 66 0d 0d 63 48 43 73 |rt".end |if..cHCs| |000041d0| 75 73 70 65 6e 64 0d 63 | 48 43 6f 70 65 6e 20 55 |uspend.c|HCopen U| |000041e0| 73 65 43 6f 6c 6f 72 2c | 20 73 69 6c 65 6e 74 2c |seColor,| silent,| |000041f0| 20 6f 70 74 69 6f 6e 73 | 2c 20 64 65 70 74 68 2c | options|, depth,| |00004200| 20 54 72 75 65 0d 72 65 | 73 74 6f 72 65 53 74 61 | True.re|storeSta| |00004210| 74 65 20 54 72 75 65 20 | 2d 2d 20 67 48 43 75 73 |te True |-- gHCus| |00004220| 65 72 20 69 73 20 65 72 | 61 73 65 64 20 62 79 20 |er is er|ased by | |00004230| 63 48 43 6f 70 65 6e 0d | 69 66 20 63 68 61 72 20 |cHCopen.|if char | |00004240| 31 36 20 6f 66 20 67 48 | 43 6f 70 74 69 6f 6e 73 |16 of gH|Coptions| |00004250| 20 3d 20 31 20 74 68 65 | 6e 20 73 65 6e 64 20 48 | = 1 the|n send H| |00004260| 43 69 6e 69 74 20 74 6f | 20 74 68 69 73 20 63 61 |Cinit to| this ca| |00004270| 72 64 0d 63 48 43 63 6f | 6c 6f 72 69 7a 65 0d 65 |rd.cHCco|lorize.e| |00004280| 6e 64 20 63 48 43 73 74 | 61 72 74 0d 0d 6f 6e 20 |nd cHCst|art..on | |00004290| 63 48 43 73 74 6f 70 0d | 63 48 43 63 6c 6f 73 65 |cHCstop.|cHCclose| |000042a0| 0d 73 74 6f 72 65 53 74 | 61 74 65 20 2d 2d 20 72 |.storeSt|ate -- r| |000042b0| 65 6d 6f 76 65 20 70 72 | 65 76 69 6f 75 73 20 65 |emove pr|evious e| |000042c0| 6e 74 72 69 65 73 0d 63 | 48 43 73 68 6f 77 43 6f |ntries.c|HCshowCo| |000042d0| 6c 6f 72 20 2d 2d 20 66 | 6f 72 63 65 20 61 20 73 |lor -- f|orce a s| |000042e0| 63 72 65 65 6e 20 75 70 | 64 61 74 65 0d 65 6e 64 |creen up|date.end| |000042f0| 20 63 48 43 73 74 6f 70 | 0d 0d 6f 6e 20 63 48 43 | cHCstop|..on cHC| |00004300| 72 65 73 74 61 72 74 20 | 55 73 65 43 6f 6c 6f 72 |restart |UseColor| |00004310| 2c 20 6f 70 74 69 6f 6e | 73 2c 20 64 65 70 74 68 |, option|s, depth| |00004320| 20 2d 2d 20 6f 6c 64 20 | 6e 61 6d 65 0d 63 48 43 | -- old |name.cHC| |00004330| 72 65 73 75 6d 65 20 55 | 73 65 43 6f 6c 6f 72 2c |resume U|seColor,| |00004340| 20 6f 70 74 69 6f 6e 73 | 2c 20 64 65 70 74 68 0d | options|, depth.| |00004350| 65 6e 64 20 63 48 43 72 | 65 73 74 61 72 74 0d 0d |end cHCr|estart..| |00004360| 6f 6e 20 63 48 43 72 65 | 73 75 6d 65 20 55 73 65 |on cHCre|sume Use| |00004370| 43 6f 6c 6f 72 2c 20 6f | 70 74 69 6f 6e 73 2c 20 |Color, o|ptions, | |00004380| 64 65 70 74 68 0d 69 66 | 20 6f 70 74 69 6f 6e 73 |depth.if| options| |00004390| 20 69 73 20 61 20 6c 6f | 67 69 63 61 6c 20 74 68 | is a lo|gical th| |000043a0| 65 6e 20 2d 2d 20 75 73 | 65 64 20 74 6f 20 62 65 |en -- us|ed to be| |000043b0| 20 42 57 6d 65 73 73 61 | 67 65 73 0d 4f 75 74 4f | BWmessa|ges.OutO| |000043c0| 66 44 61 74 65 20 22 63 | 48 43 72 65 73 75 6d 65 |fDate "c|HCresume| |000043d0| 22 0d 65 6e 64 20 69 66 | 0d 0d 67 6c 6f 62 61 6c |".end if|..global| |000043e0| 20 67 48 43 6f 70 74 69 | 6f 6e 73 2c 20 67 4f 6b | gHCopti|ons, gOk| |000043f0| 54 6f 43 6f 6c 6f 72 69 | 7a 65 2c 20 67 48 43 6d |ToColori|ze, gHCm| |00004400| 61 78 44 65 70 74 68 0d | 70 75 74 20 4d 61 78 44 |axDepth.|put MaxD| |00004410| 65 70 74 68 28 29 20 69 | 6e 74 6f 20 67 48 43 6d |epth() i|nto gHCm| |00004420| 61 78 44 65 70 74 68 0d | 0d 72 65 73 74 6f 72 65 |axDepth.|.restore| |00004430| 53 74 61 74 65 0d 69 66 | 20 67 48 43 6f 70 74 69 |State.if| gHCopti| |00004440| 6f 6e 73 20 3d 20 65 6d | 70 74 79 20 74 68 65 6e |ons = em|pty then| |00004450| 20 73 65 74 4f 70 74 69 | 6f 6e 73 20 6f 70 74 69 | setOpti|ons opti| |00004460| 6f 6e 73 20 2d 2d 20 66 | 69 72 73 74 20 74 69 6d |ons -- f|irst tim| |00004470| 65 21 0d 0d 69 66 20 55 | 73 65 43 6f 6c 6f 72 20 |e!..if U|seColor | |00004480| ad 20 46 61 6c 73 65 20 | 74 68 65 6e 0d 69 66 20 |. False |then.if | |00004490| 6d 61 78 44 65 70 74 68 | 28 29 3d 31 20 61 6e 64 |maxDepth|()=1 and| |000044a0| 20 63 68 61 72 20 38 20 | 6f 66 20 67 48 43 6f 70 | char 8 |of gHCop| |000044b0| 74 69 6f 6e 73 20 ad 20 | 31 20 6f 72 c2 20 2d 2d |tions . |1 or. --| |000044c0| 20 66 6f 72 63 65 43 6f | 6c 6f 72 0d 63 68 61 72 | forceCo|lor.char| |000044d0| 20 39 20 6f 66 20 67 48 | 43 6f 70 74 69 6f 6e 73 | 9 of gH|Coptions| |000044e0| 20 3d 20 31 20 74 68 65 | 6e 20 2d 2d 20 66 6f 72 | = 1 the|n -- for| |000044f0| 63 65 42 57 0d 63 48 43 | 64 69 73 70 6f 73 65 0d |ceBW.cHC|dispose.| |00004500| 65 6c 73 65 0d 63 48 43 | 69 6e 73 74 61 6c 6c 20 |else.cHC|install | |00004510| 64 65 70 74 68 0d 69 66 | 20 63 68 61 72 20 38 20 |depth.if| char 8 | |00004520| 6f 66 20 67 48 43 6f 70 | 74 69 6f 6e 73 20 3d 20 |of gHCop|tions = | |00004530| 31 20 74 68 65 6e 20 70 | 75 74 20 65 6d 70 74 79 |1 then p|ut empty| |00004540| 20 69 6e 74 6f 20 67 4f | 6b 54 6f 43 6f 6c 6f 72 | into gO|kToColor| |00004550| 69 7a 65 0d 69 66 20 67 | 4f 6b 54 6f 43 6f 6c 6f |ize.if g|OkToColo| |00004560| 72 69 7a 65 20 ad 20 65 | 6d 70 74 79 20 74 68 65 |rize . e|mpty the| |00004570| 6e 20 63 48 43 64 69 73 | 70 6f 73 65 20 2d 2d 20 |n cHCdis|pose -- | |00004580| 74 69 64 79 20 75 70 0d | 65 6e 64 20 69 66 0d 65 |tidy up.|end if.e| |00004590| 6c 73 65 0d 63 48 43 64 | 69 73 70 6f 73 65 0d 65 |lse.cHCd|ispose.e| |000045a0| 6e 64 20 69 66 0d 0d 69 | 66 20 63 68 61 72 20 31 |nd if..i|f char 1| |000045b0| 34 20 6f 66 20 67 48 43 | 4f 70 74 69 6f 6e 73 20 |4 of gHC|Options | |000045c0| 3d 20 31 20 74 68 65 6e | 20 73 74 61 72 74 44 65 |= 1 then| startDe| |000045d0| 62 75 67 0d 0d 69 66 20 | 6e 6f 74 20 74 68 65 20 |bug..if |not the | |000045e0| 6c 6f 63 6b 53 63 72 65 | 65 6e 20 74 68 65 6e 20 |lockScre|en then | |000045f0| 6c 6f 63 6b 20 73 63 72 | 65 65 6e 0d 69 66 20 63 |lock scr|een.if c| |00004600| 68 61 72 20 31 36 20 6f | 66 20 67 48 43 6f 70 74 |har 16 o|f gHCopt| |00004610| 69 6f 6e 73 20 3d 20 31 | 20 74 68 65 6e 20 73 65 |ions = 1| then se| |00004620| 6e 64 20 48 43 69 6e 69 | 74 20 74 6f 20 74 68 69 |nd HCini|t to thi| |00004630| 73 20 63 61 72 64 0d 63 | 48 43 63 6f 6c 6f 72 69 |s card.c|HCcolori| |00004640| 7a 65 0d 69 66 20 6e 6f | 74 20 74 68 65 20 6c 6f |ze.if no|t the lo| |00004650| 63 6b 53 63 72 65 65 6e | 20 74 68 65 6e 20 6c 6f |ckScreen| then lo| |00004660| 63 6b 20 73 63 72 65 65 | 6e 0d 65 6e 64 20 63 48 |ck scree|n.end cH| |00004670| 43 72 65 73 75 6d 65 0d | 0d 6f 6e 20 63 6c 6f 73 |Cresume.|.on clos| |00004680| 65 44 6f 77 6e 43 48 43 | 0d 67 6c 6f 62 61 6c 20 |eDownCHC|.global | |00004690| 67 48 43 4f 70 74 69 6f | 6e 73 2c 20 67 48 43 75 |gHCOptio|ns, gHCu| |000046a0| 73 65 72 2c 20 67 48 43 | 75 73 65 72 53 2c 20 67 |ser, gHC|userS, g| |000046b0| 48 43 75 73 65 72 42 0d | 63 48 43 75 6e 43 6f 6c |HCuserB.|cHCunCol| |000046c0| 6f 72 69 7a 65 0d 63 48 | 43 64 69 73 70 6f 73 65 |orize.cH|Cdispose| |000046d0| 0d 69 66 20 63 68 61 72 | 20 31 37 20 6f 66 20 67 |.if char| 17 of g| |000046e0| 48 43 4f 70 74 69 6f 6e | 73 20 3d 20 31 0d 74 68 |HCOption|s = 1.th| |000046f0| 65 6e 20 73 65 6e 64 20 | 48 43 75 6e 49 6e 69 74 |en send |HCunInit| |00004700| 20 74 6f 20 74 68 69 73 | 20 63 61 72 64 0d 69 66 | to this| card.if| |00004710| 20 63 68 61 72 20 31 34 | 20 6f 66 20 67 48 43 4f | char 14| of gHCO| |00004720| 70 74 69 6f 6e 73 20 3d | 20 31 20 2d 2d 20 75 6e |ptions =| 1 -- un| |00004730| 64 6f 20 64 62 43 6f 6c | 6f 72 69 7a 65 48 43 0d |do dbCol|orizeHC.| |00004740| 74 68 65 6e 20 69 66 20 | 74 68 65 20 73 74 61 63 |then if |the stac| |00004750| 6b 73 49 6e 55 73 65 20 | 63 6f 6e 74 61 69 6e 73 |ksInUse |contains| |00004760| 20 22 43 6f 6c 6f 72 69 | 7a 69 6e 67 20 48 43 20 | "Colori|zing HC | |00004770| 44 65 62 75 67 22 0d 74 | 68 65 6e 20 73 74 6f 70 |Debug".t|hen stop| |00004780| 20 75 73 69 6e 67 20 73 | 74 61 63 6b 20 22 43 6f | using s|tack "Co| |00004790| 6c 6f 72 69 7a 69 6e 67 | 20 48 43 20 44 65 62 75 |lorizing| HC Debu| |000047a0| 67 22 0d 73 74 6f 72 65 | 53 74 61 74 65 0d 70 75 |g".store|State.pu| |000047b0| 74 20 65 6d 70 74 79 20 | 69 6e 74 6f 20 67 48 43 |t empty |into gHC| |000047c0| 4f 70 74 69 6f 6e 73 20 | 2d 2d 20 73 68 6f 77 20 |Options |-- show | |000047d0| 77 65 20 61 72 65 20 75 | 6e 69 6e 69 74 69 61 6c |we are u|ninitial| |000047e0| 69 73 65 64 0d 70 75 74 | 20 65 6d 70 74 79 20 69 |ised.put| empty i| |000047f0| 6e 74 6f 20 67 48 43 75 | 73 65 72 0d 70 75 74 20 |nto gHCu|ser.put | |00004800| 65 6d 70 74 79 20 69 6e | 74 6f 20 67 48 43 75 73 |empty in|to gHCus| |00004810| 65 72 53 0d 70 75 74 20 | 65 6d 70 74 79 20 69 6e |erS.put |empty in| |00004820| 74 6f 20 67 48 43 75 73 | 65 72 42 0d 65 6e 64 20 |to gHCus|erB.end | |00004830| 63 6c 6f 73 65 44 6f 77 | 6e 43 48 43 0d 0d 6f 6e |closeDow|nCHC..on| |00004840| 20 63 48 43 63 6c 6f 73 | 65 0d 67 6c 6f 62 61 6c | cHCclos|e.global| |00004850| 20 67 48 43 75 73 65 72 | 2c 20 67 48 43 6f 70 74 | gHCuser|, gHCopt| |00004860| 69 6f 6e 73 0d 69 66 20 | 67 48 43 6f 70 74 69 6f |ions.if |gHCoptio| |00004870| 6e 73 20 3d 20 65 6d 70 | 74 79 20 74 68 65 6e 20 |ns = emp|ty then | |00004880| 65 78 69 74 20 63 48 43 | 63 6c 6f 73 65 20 2d 2d |exit cHC|close --| |00004890| 20 75 6e 69 6e 69 74 69 | 61 6c 69 73 65 64 0d 70 | uniniti|alised.p| |000048a0| 75 74 20 65 6d 70 74 79 | 20 69 6e 74 6f 20 67 48 |ut empty| into gH| |000048b0| 43 75 73 65 72 20 2d 2d | 20 64 6f 6e 27 74 20 73 |Cuser --| don't s| |000048c0| 61 76 65 20 67 48 43 75 | 73 65 72 20 6f 6e 20 63 |ave gHCu|ser on c| |000048d0| 6c 6f 73 65 0d 63 6c 6f | 73 65 64 6f 77 6e 43 48 |lose.clo|sedownCH| |000048e0| 43 0d 65 6e 64 20 63 48 | 43 63 6c 6f 73 65 0d 0d |C.end cH|Cclose..| |000048f0| 6f 6e 20 63 48 43 6c 65 | 61 76 65 20 2d 2d 20 6f |on cHCle|ave -- o| |00004900| 6c 64 20 6e 61 6d 65 0d | 63 48 43 73 75 73 70 65 |ld name.|cHCsuspe| |00004910| 6e 64 0d 65 6e 64 20 63 | 48 43 6c 65 61 76 65 0d |nd.end c|HCleave.| |00004920| 0d 6f 6e 20 63 48 43 73 | 75 73 70 65 6e 64 0d 67 |.on cHCs|uspend.g| |00004930| 6c 6f 62 61 6c 20 67 48 | 43 6f 70 74 69 6f 6e 73 |lobal gH|Coptions| |00004940| 0d 69 66 20 67 48 43 6f | 70 74 69 6f 6e 73 20 3d |.if gHCo|ptions =| |00004950| 20 65 6d 70 74 79 20 74 | 68 65 6e 20 65 78 69 74 | empty t|hen exit| |00004960| 20 63 48 43 73 75 73 70 | 65 6e 64 20 2d 2d 20 75 | cHCsusp|end -- u| |00004970| 6e 69 6e 69 74 69 61 6c | 69 73 65 64 0d 63 6c 6f |ninitial|ised.clo| |00004980| 73 65 64 6f 77 6e 43 48 | 43 0d 65 6e 64 20 63 48 |sedownCH|C.end cH| |00004990| 43 73 75 73 70 65 6e 64 | 0d 0d 6f 6e 20 63 48 43 |Csuspend|..on cHC| |000049a0| 63 6f 6c 6f 72 69 7a 65 | 20 2d 2d 20 63 61 6c 6c |colorize| -- call| |000049b0| 65 64 20 74 6f 20 63 6f | 6c 6f 75 72 20 61 20 67 |ed to co|lour a g| |000049c0| 69 76 65 6e 20 63 61 72 | 64 0d 67 6c 6f 62 61 6c |iven car|d.global| |000049d0| 20 67 4f 4b 54 6f 43 6f | 6c 6f 72 69 7a 65 2c 20 | gOKToCo|lorize, | |000049e0| 67 48 43 6f 70 74 69 6f | 6e 73 2c 20 67 48 43 77 |gHCoptio|ns, gHCw| |000049f0| 69 6e 64 6f 77 73 2c 20 | 67 48 43 65 66 66 65 63 |indows, |gHCeffec| |00004a00| 74 73 0d 69 66 20 67 48 | 43 6f 70 74 69 6f 6e 73 |ts.if gH|Coptions| |00004a10| 20 3d 20 65 6d 70 74 79 | 20 74 68 65 6e 20 65 78 | = empty| then ex| |00004a20| 69 74 20 63 48 43 63 6f | 6c 6f 72 69 7a 65 20 2d |it cHCco|lorize -| |00004a30| 2d 20 75 6e 69 6e 69 74 | 69 61 6c 69 73 65 64 21 |- uninit|ialised!| |00004a40| 0d 0d 69 66 20 6e 6f 74 | 20 74 68 65 20 6c 6f 63 |..if not| the loc| |00004a50| 6b 53 63 72 65 65 6e 20 | 74 68 65 6e 20 6c 6f 63 |kScreen |then loc| |00004a60| 6b 20 73 63 72 65 65 6e | 0d 0d 69 66 20 63 68 61 |k screen|..if cha| |00004a70| 72 20 31 35 20 6f 66 20 | 67 48 43 6f 70 74 69 6f |r 15 of |gHCoptio| |00004a80| 6e 73 20 3d 20 31 20 74 | 68 65 6e 20 73 65 6e 64 |ns = 1 t|hen send| |00004a90| 20 48 43 70 72 65 47 72 | 61 70 68 69 63 20 74 6f | HCpreGr|aphic to| |00004aa0| 20 63 64 0d 69 66 20 67 | 4f 4b 54 6f 43 6f 6c 6f | cd.if g|OKToColo| |00004ab0| 72 69 7a 65 20 ad 20 65 | 6d 70 74 79 20 74 68 65 |rize . e|mpty the| |00004ac0| 6e 0d 69 66 20 63 68 61 | 72 20 33 20 6f 66 20 67 |n.if cha|r 3 of g| |00004ad0| 48 43 6f 70 74 69 6f 6e | 73 20 3d 20 31 20 74 68 |HCoption|s = 1 th| |00004ae0| 65 6e 0d 73 65 6e 64 20 | 48 43 62 57 68 69 74 65 |en.send |HCbWhite| |00004af0| 20 74 6f 20 63 64 0d 65 | 6e 64 20 69 66 0d 65 6c | to cd.e|nd if.el| |00004b00| 73 65 0d 69 66 20 63 68 | 61 72 20 31 20 6f 66 20 |se.if ch|ar 1 of | |00004b10| 67 48 43 6f 70 74 69 6f | 6e 73 20 3d 20 31 20 74 |gHCoptio|ns = 1 t| |00004b20| 68 65 6e 20 73 65 6e 64 | 20 48 43 63 6f 6c 6f 72 |hen send| HCcolor| |00004b30| 69 7a 65 20 74 6f 20 63 | 64 0d 65 6c 73 65 20 63 |ize to c|d.else c| |00004b40| 6f 6c 6f 72 69 7a 65 48 | 43 20 22 45 72 61 73 65 |olorizeH|C "Erase| |00004b50| 22 20 2d 2d 20 64 65 66 | 61 75 6c 74 20 48 43 63 |" -- def|ault HCc| |00004b60| 6f 6c 6f 72 69 7a 65 0d | 65 6e 64 20 69 66 0d 69 |olorize.|end if.i| |00004b70| 66 20 63 68 61 72 20 35 | 20 6f 66 20 67 48 43 6f |f char 5| of gHCo| |00004b80| 70 74 69 6f 6e 73 20 3d | 20 31 20 74 68 65 6e 20 |ptions =| 1 then | |00004b90| 73 65 6e 64 20 48 43 67 | 72 61 70 68 69 63 20 74 |send HCg|raphic t| |00004ba0| 6f 20 63 64 0d 0d 67 65 | 74 20 67 48 43 65 66 66 |o cd..ge|t gHCeff| |00004bb0| 65 63 74 73 20 2d 2d 20 | 67 65 74 20 6e 6f 77 20 |ects -- |get now | |00004bc0| 2d 20 74 68 61 74 20 77 | 61 79 20 77 65 20 64 6f |- that w|ay we do| |00004bd0| 6e 27 74 20 72 65 70 65 | 61 74 20 65 72 72 6f 72 |n't repe|at error| |00004be0| 73 0d 70 75 74 20 65 6d | 70 74 79 20 69 6e 74 6f |s.put em|pty into| |00004bf0| 20 67 48 43 65 66 66 65 | 63 74 73 0d 69 66 20 69 | gHCeffe|cts.if i| |00004c00| 74 20 3d 20 65 6d 70 74 | 79 20 74 68 65 6e 20 75 |t = empt|y then u| |00004c10| 6e 6c 6f 63 6b 20 73 63 | 72 65 65 6e 0d 65 6c 73 |nlock sc|reen.els| |00004c20| 65 20 64 6f 20 22 75 6e | 6c 6f 63 6b 20 73 63 72 |e do "un|lock scr| |00004c30| 65 65 6e 20 77 69 74 68 | 22 20 26 26 20 69 74 0d |een with|" && it.| |00004c40| 0d 69 66 20 28 63 68 61 | 72 20 31 30 20 6f 66 20 |.if (cha|r 10 of | |00004c50| 67 48 43 6f 70 74 69 6f | 6e 73 20 3d 20 31 29 20 |gHCoptio|ns = 1) | |00004c60| 61 6e 64 20 67 48 43 77 | 69 6e 64 6f 77 73 20 ad |and gHCw|indows .| |00004c70| 20 65 6d 70 74 79 0d 74 | 68 65 6e 20 63 48 43 73 | empty.t|hen cHCs| |00004c80| 68 6f 77 57 69 6e 64 6f | 77 73 0d 2d 2d 20 72 65 |howWindo|ws.-- re| |00004c90| 61 6c 6c 79 20 73 68 6f | 75 6c 64 20 6e 6f 74 20 |ally sho|uld not | |00004ca0| 63 61 6c 6c 20 75 6e 74 | 69 6c 20 75 6e 6c 6f 63 |call unt|il unloc| |00004cb0| 6b 20 74 61 6b 65 73 20 | 70 6c 61 63 65 2c 20 62 |k takes |place, b| |00004cc0| 75 74 20 77 6f 75 6c 64 | 20 72 65 71 75 69 72 65 |ut would| require| |00004cd0| 0d 2d 2d 20 64 65 6c 61 | 79 65 64 20 61 63 74 69 |.-- dela|yed acti| |00004ce0| 6f 6e 0d 65 6e 64 20 63 | 48 43 63 6f 6c 6f 72 69 |on.end c|HCcolori| |00004cf0| 7a 65 0d 0d 6f 6e 20 63 | 48 43 75 6e 43 6f 6c 6f |ze..on c|HCunColo| |00004d00| 72 69 7a 65 0d 67 6c 6f | 62 61 6c 20 67 4f 4b 54 |rize.glo|bal gOKT| |00004d10| 6f 43 6f 6c 6f 72 69 7a | 65 2c 20 67 48 43 6f 70 |oColoriz|e, gHCop| |00004d20| 74 69 6f 6e 73 2c 20 67 | 48 43 77 69 6e 64 6f 77 |tions, g|HCwindow| |00004d30| 73 0d 69 66 20 67 48 43 | 6f 70 74 69 6f 6e 73 20 |s.if gHC|options | |00004d40| 3d 20 65 6d 70 74 79 20 | 74 68 65 6e 20 65 78 69 |= empty |then exi| |00004d50| 74 20 63 48 43 75 6e 43 | 6f 6c 6f 72 69 7a 65 20 |t cHCunC|olorize | |00004d60| 2d 2d 20 75 6e 69 6e 69 | 74 69 61 6c 69 73 65 64 |-- unini|tialised| |00004d70| 2e 0d 69 66 20 67 4f 4b | 54 6f 43 6f 6c 6f 72 69 |..if gOK|ToColori| |00004d80| 7a 65 20 ad 20 65 6d 70 | 74 79 20 74 68 65 6e 0d |ze . emp|ty then.| |00004d90| 69 66 20 63 68 61 72 20 | 34 20 6f 66 20 67 48 43 |if char |4 of gHC| |00004da0| 6f 70 74 69 6f 6e 73 20 | 3d 20 31 20 74 68 65 6e |options |= 1 then| |00004db0| 20 73 65 6e 64 20 48 43 | 75 6e 42 57 68 69 74 65 | send HC|unBWhite| |00004dc0| 20 74 6f 20 63 64 0d 65 | 6c 73 65 20 2d 2d 20 64 | to cd.e|lse -- d| |00004dd0| 65 66 61 75 6c 74 20 48 | 43 75 6e 42 57 68 69 74 |efault H|CunBWhit| |00004de0| 65 0d 69 66 20 63 68 61 | 72 20 31 31 20 6f 66 20 |e.if cha|r 11 of | |00004df0| 67 48 43 6f 70 74 69 6f | 6e 73 20 ad 20 31 20 74 |gHCoptio|ns . 1 t| |00004e00| 68 65 6e 20 73 65 74 20 | 74 68 65 20 63 75 72 73 |hen set |the curs| |00004e10| 6f 72 20 74 6f 20 77 61 | 74 63 68 0d 69 66 20 6e |or to wa|tch.if n| |00004e20| 6f 74 20 74 68 65 20 6c | 6f 63 6b 53 63 72 65 65 |ot the l|ockScree| |00004e30| 6e 20 74 68 65 6e 20 6c | 6f 63 6b 20 73 63 72 65 |n then l|ock scre| |00004e40| 65 6e 20 2d 2d 20 69 6e | 20 63 61 73 65 20 61 6c |en -- in| case al| |00004e50| 72 65 61 64 79 20 73 65 | 74 0d 65 6e 64 20 69 66 |ready se|t.end if| |00004e60| 0d 65 6c 73 65 0d 69 66 | 20 63 68 61 72 20 32 20 |.else.if| char 2 | |00004e70| 6f 66 20 67 48 43 6f 70 | 74 69 6f 6e 73 20 3d 20 |of gHCop|tions = | |00004e80| 31 20 74 68 65 6e 20 73 | 65 6e 64 20 48 43 75 6e |1 then s|end HCun| |00004e90| 43 6f 6c 6f 72 69 7a 65 | 20 74 6f 20 63 64 0d 65 |Colorize| to cd.e| |00004ea0| 6c 73 65 20 2d 2d 20 64 | 65 66 61 75 6c 74 20 48 |lse -- d|efault H| |00004eb0| 43 75 6e 43 6f 6c 6f 72 | 69 7a 65 0d 69 66 20 63 |CunColor|ize.if c| |00004ec0| 68 61 72 20 31 31 20 6f | 66 20 67 48 43 6f 70 74 |har 11 o|f gHCopt| |00004ed0| 69 6f 6e 73 20 ad 20 31 | 20 74 68 65 6e 20 73 65 |ions . 1| then se| |00004ee0| 74 20 74 68 65 20 63 75 | 72 73 6f 72 20 74 6f 20 |t the cu|rsor to | |00004ef0| 77 61 74 63 68 0d 69 66 | 20 6e 6f 74 20 74 68 65 |watch.if| not the| |00004f00| 20 6c 6f 63 6b 53 63 72 | 65 65 6e 20 74 68 65 6e | lockScr|een then| |00004f10| 20 6c 6f 63 6b 20 73 63 | 72 65 65 6e 20 2d 2d 20 | lock sc|reen -- | |00004f20| 64 69 74 74 6f 0d 65 6e | 64 20 69 66 0d 65 6e 64 |ditto.en|d if.end| |00004f30| 20 69 66 0d 69 66 20 63 | 68 61 72 20 36 20 6f 66 | if.if c|har 6 of| |00004f40| 20 67 48 43 6f 70 74 69 | 6f 6e 73 20 3d 20 31 20 | gHCopti|ons = 1 | |00004f50| 74 68 65 6e 20 73 65 6e | 64 20 48 43 75 6e 47 72 |then sen|d HCunGr| |00004f60| 61 70 68 69 63 20 74 6f | 20 63 64 0d 69 66 20 28 |aphic to| cd.if (| |00004f70| 63 68 61 72 20 31 30 20 | 6f 66 20 67 48 43 6f 70 |char 10 |of gHCop| |00004f80| 74 69 6f 6e 73 20 3d 20 | 31 29 20 61 6e 64 20 67 |tions = |1) and g| |00004f90| 48 43 77 69 6e 64 6f 77 | 73 20 ad 20 65 6d 70 74 |HCwindow|s . empt| |00004fa0| 79 0d 74 68 65 6e 20 63 | 48 43 6b 69 6c 6c 57 69 |y.then c|HCkillWi| |00004fb0| 6e 64 6f 77 73 0d 65 6e | 64 20 63 48 43 75 6e 43 |ndows.en|d cHCunC| |00004fc0| 6f 6c 6f 72 69 7a 65 0d | 0d 6f 6e 20 63 48 43 72 |olorize.|.on cHCr| |00004fd0| 65 43 6f 6c 6f 72 69 7a | 65 0d 63 48 43 75 6e 43 |eColoriz|e.cHCunC| |00004fe0| 6f 6c 6f 72 69 7a 65 0d | 63 48 43 63 6f 6c 6f 72 |olorize.|cHCcolor| |00004ff0| 69 7a 65 0d 65 6e 64 20 | 63 48 43 72 65 43 6f 6c |ize.end |cHCreCol| |00005000| 6f 72 69 7a 65 0d 0d 6f | 6e 20 63 48 43 73 68 6f |orize..o|n cHCsho| |00005010| 77 43 6f 6c 6f 72 20 73 | 69 6e 67 6c 65 0d 69 66 |wColor s|ingle.if| |00005020| 20 73 69 6e 67 6c 65 20 | 3d 20 54 72 75 65 20 74 | single |= True t| |00005030| 68 65 6e 20 2d 2d 20 6a | 75 73 74 20 65 6e 73 75 |hen -- j|ust ensu| |00005040| 72 65 20 77 69 6c 6c 20 | 75 70 64 61 74 65 0d 69 |re will |update.i| |00005050| 66 20 6e 6f 74 20 74 68 | 65 20 6c 6f 63 6b 53 63 |f not th|e lockSc| |00005060| 72 65 65 6e 20 74 68 65 | 6e 0d 6c 6f 63 6b 20 73 |reen the|n.lock s| |00005070| 63 72 65 65 6e 0d 75 6e | 6c 6f 63 6b 20 73 63 72 |creen.un|lock scr| |00005080| 65 65 6e 0d 65 6e 64 20 | 69 66 0d 65 6c 73 65 20 |een.end |if.else | |00005090| 69 66 20 73 69 6e 67 6c | 65 20 3d 20 59 65 73 20 |if singl|e = Yes | |000050a0| 74 68 65 6e 20 2d 2d 20 | 73 69 6e 67 6c 65 20 75 |then -- |single u| |000050b0| 6e 6c 6f 63 6b 20 28 61 | 73 73 75 6d 65 20 70 72 |nlock (a|ssume pr| |000050c0| 65 76 20 6c 6f 63 6b 65 | 64 29 0d 75 6e 6c 6f 63 |ev locke|d).unloc| |000050d0| 6b 20 73 63 72 65 65 6e | 0d 65 6c 73 65 0d 67 6c |k screen|.else.gl| |000050e0| 6f 62 61 6c 20 67 4f 6b | 54 6f 43 6f 6c 6f 72 69 |obal gOk|ToColori| |000050f0| 7a 65 0d 69 66 20 67 4f | 6b 54 6f 43 6f 6c 6f 72 |ze.if gO|kToColor| |00005100| 69 7a 65 20 3d 20 65 6d | 70 74 79 20 74 68 65 6e |ize = em|pty then| |00005110| 0d 69 66 20 6e 6f 74 20 | 74 68 65 20 6c 6f 63 6b |.if not |the lock| |00005120| 53 63 72 65 65 6e 20 74 | 68 65 6e 20 6c 6f 63 6b |Screen t|hen lock| |00005130| 20 73 63 72 65 65 6e 0d | 75 6e 6c 6f 63 6b 20 73 | screen.|unlock s| |00005140| 63 72 65 65 6e 20 2d 2d | 20 77 65 20 61 6c 77 61 |creen --| we alwa| |00005150| 79 73 20 6e 65 65 64 20 | 74 6f 20 64 6f 20 6f 6e |ys need |to do on| |00005160| 63 65 2c 20 73 61 76 65 | 73 20 61 20 74 65 73 74 |ce, save|s a test| |00005170| 0d 65 6e 64 20 69 66 0d | 72 65 70 65 61 74 20 77 |.end if.|repeat w| |00005180| 68 69 6c 65 20 74 68 65 | 20 6c 6f 63 6b 53 63 72 |hile the| lockScr| |00005190| 65 65 6e 0d 75 6e 6c 6f | 63 6b 20 73 63 72 65 65 |een.unlo|ck scree| |000051a0| 6e 0d 65 6e 64 20 72 65 | 70 65 61 74 0d 65 6e 64 |n.end re|peat.end| |000051b0| 20 69 66 0d 65 6e 64 20 | 63 48 43 73 68 6f 77 43 | if.end |cHCshowC| |000051c0| 6f 6c 6f 72 0d 0d 6f 6e | 20 63 48 43 62 72 65 61 |olor..on| cHCbrea| |000051d0| 6b 53 63 72 65 65 6e 4c | 6f 63 6b 0d 67 6c 6f 62 |kScreenL|ock.glob| |000051e0| 61 6c 20 67 4f 6b 54 6f | 43 6f 6c 6f 72 69 7a 65 |al gOkTo|Colorize| |000051f0| 2c 20 67 48 43 65 66 66 | 65 63 74 73 2c 20 67 48 |, gHCeff|ects, gH| |00005200| 43 6f 70 74 69 6f 6e 73 | 0d 67 65 74 20 67 48 43 |Coptions|.get gHC| |00005210| 65 66 66 65 63 74 73 20 | 2d 2d 20 67 65 74 20 6e |effects |-- get n| |00005220| 6f 77 20 69 6e 20 63 61 | 73 65 20 6f 66 20 65 72 |ow in ca|se of er| |00005230| 72 6f 72 0d 70 75 74 20 | 65 6d 70 74 79 20 69 6e |ror.put |empty in| |00005240| 74 6f 20 67 48 43 65 66 | 66 65 63 74 73 0d 0d 69 |to gHCef|fects..i| |00005250| 66 20 69 74 20 3d 20 65 | 6d 70 74 79 20 74 68 65 |f it = e|mpty the| |00005260| 6e 0d 72 65 70 65 61 74 | 20 77 68 69 6c 65 20 74 |n.repeat| while t| |00005270| 68 65 20 6c 6f 63 6b 53 | 63 72 65 65 6e 0d 75 6e |he lockS|creen.un| |00005280| 6c 6f 63 6b 20 73 63 72 | 65 65 6e 0d 65 6e 64 20 |lock scr|een.end | |00005290| 72 65 70 65 61 74 0d 65 | 6c 73 65 0d 72 65 70 65 |repeat.e|lse.repe| |000052a0| 61 74 20 77 68 69 6c 65 | 20 74 68 65 20 6c 6f 63 |at while| the loc| |000052b0| 6b 53 63 72 65 65 6e 0d | 64 6f 20 22 75 6e 6c 6f |kScreen.|do "unlo| |000052c0| 63 6b 20 73 63 72 65 65 | 6e 20 77 69 74 68 22 20 |ck scree|n with" | |000052d0| 26 26 20 69 74 0d 65 6e | 64 20 72 65 70 65 61 74 |&& it.en|d repeat| |000052e0| 0d 65 6e 64 20 69 66 0d | 65 6e 64 20 63 48 43 62 |.end if.|end cHCb| |000052f0| 72 65 61 6b 53 63 72 65 | 65 6e 4c 6f 63 6b 0d 0d |reakScre|enLock..| |00005300| 6f 6e 20 63 48 43 66 6f | 72 63 65 53 63 72 65 65 |on cHCfo|rceScree| |00005310| 6e 4c 6f 63 6b 0d 63 48 | 43 62 72 65 61 6b 53 63 |nLock.cH|CbreakSc| |00005320| 72 65 65 6e 4c 6f 63 6b | 0d 65 6e 64 20 63 48 43 |reenLock|.end cHC| |00005330| 66 6f 72 63 65 53 63 72 | 65 65 6e 4c 6f 63 6b 0d |forceScr|eenLock.| |00005340| 0d 6f 6e 20 63 48 43 6c | 6f 63 6b 20 52 65 63 65 |.on cHCl|ock Rece| |00005350| 6e 74 54 6f 6f 0d 6c 6f | 63 6b 20 73 63 72 65 65 |ntToo.lo|ck scree| |00005360| 6e 0d 73 65 74 20 6c 6f | 63 6b 4d 65 73 73 61 67 |n.set lo|ckMessag| |00005370| 65 73 20 74 6f 20 54 72 | 75 65 0d 69 66 20 52 65 |es to Tr|ue.if Re| |00005380| 63 65 6e 74 54 6f 6f 20 | ad 20 46 61 6c 73 65 20 |centToo |. False | |00005390| 74 68 65 6e 20 73 65 74 | 20 6c 6f 63 6b 52 65 63 |then set| lockRec| |000053a0| 65 6e 74 20 74 6f 20 54 | 72 75 65 0d 65 6e 64 20 |ent to T|rue.end | |000053b0| 63 48 43 6c 6f 63 6b 0d | 0d 6f 6e 20 63 48 43 75 |cHClock.|.on cHCu| |000053c0| 6e 4c 6f 63 6b 20 52 65 | 63 65 6e 74 54 6f 6f 0d |nLock Re|centToo.| |000053d0| 73 65 74 20 6c 6f 63 6b | 4d 65 73 73 61 67 65 73 |set lock|Messages| |000053e0| 20 74 6f 20 46 61 6c 73 | 65 0d 69 66 20 52 65 63 | to Fals|e.if Rec| |000053f0| 65 6e 74 54 6f 6f 20 ad | 20 46 61 6c 73 65 20 74 |entToo .| False t| |00005400| 68 65 6e 20 73 65 74 20 | 6c 6f 63 6b 52 65 63 65 |hen set |lockRece| |00005410| 6e 74 20 74 6f 20 46 61 | 6c 73 65 0d 75 6e 6c 6f |nt to Fa|lse.unlo| |00005420| 63 6b 20 73 63 72 65 65 | 6e 0d 65 6e 64 20 63 48 |ck scree|n.end cH| |00005430| 43 75 6e 4c 6f 63 6b 0d | 0d 6f 6e 20 63 48 43 76 |CunLock.|.on cHCv| |00005440| 69 73 75 61 6c 20 63 6f | 6d 6d 61 6e 64 2c 20 64 |isual co|mmand, d| |00005450| 6f 6e 74 52 65 70 6c 61 | 63 65 0d 67 6c 6f 62 61 |ontRepla|ce.globa| |00005460| 6c 20 67 4f 6b 54 6f 43 | 6f 6c 6f 72 69 7a 65 2c |l gOkToC|olorize,| |00005470| 20 67 48 43 6f 70 74 69 | 6f 6e 73 2c 20 67 48 43 | gHCopti|ons, gHC| |00005480| 65 66 66 65 63 74 73 0d | 69 66 20 63 68 61 72 20 |effects.|if char | |00005490| 31 32 20 6f 66 20 67 48 | 43 6f 70 74 69 6f 6e 73 |12 of gH|Coptions| |000054a0| 20 3d 20 31 20 c2 20 2d | 2d 20 6e 6f 56 69 73 75 | = 1 . -|- noVisu| |000054b0| 61 6c 73 0d 6f 72 20 63 | 68 61 72 20 31 33 20 6f |als.or c|har 13 o| |000054c0| 66 20 67 48 43 6f 70 74 | 69 6f 6e 73 20 3d 20 31 |f gHCopt|ions = 1| |000054d0| 20 61 6e 64 20 67 4f 6b | 54 6f 43 6f 6c 6f 72 69 | and gOk|ToColori| |000054e0| 7a 65 20 3d 20 65 6d 70 | 74 79 20 74 68 65 6e 20 |ze = emp|ty then | |000054f0| 2d 2d 20 69 66 43 6f 6c | 6f 72 0d 70 75 74 20 65 |-- ifCol|or.put e| |00005500| 6d 70 74 79 20 69 6e 74 | 6f 20 67 48 43 65 66 66 |mpty int|o gHCeff| |00005510| 65 63 74 73 0d 65 78 69 | 74 20 63 48 43 76 69 73 |ects.exi|t cHCvis| |00005520| 75 61 6c 0d 65 6e 64 20 | 69 66 0d 0d 69 66 20 64 |ual.end |if..if d| |00005530| 6f 6e 74 52 65 70 6c 61 | 63 65 20 3d 20 54 72 75 |ontRepla|ce = Tru| |00005540| 65 20 61 6e 64 20 67 48 | 43 65 66 66 65 63 74 73 |e and gH|Ceffects| |00005550| 20 ad 20 65 6d 70 74 79 | 20 74 68 65 6e 20 65 78 | . empty| then ex| |00005560| 69 74 20 63 48 43 76 69 | 73 75 61 6c 0d 70 75 74 |it cHCvi|sual.put| |00005570| 20 63 6f 6d 6d 61 6e 64 | 20 69 6e 74 6f 20 67 48 | command| into gH| |00005580| 43 65 66 66 65 63 74 73 | 20 2d 2d 20 73 74 6f 72 |Ceffects| -- stor| |00005590| 65 20 66 6f 72 20 6c 61 | 74 65 72 20 75 73 65 0d |e for la|ter use.| |000055a0| 65 6e 64 20 63 48 43 76 | 69 73 75 61 6c 0d 0d 2d |end cHCv|isual..-| |000055b0| 2d 20 64 65 66 61 75 6c | 74 20 68 61 6e 64 6c 65 |- defaul|t handle| |000055c0| 72 73 20 2d 20 75 73 75 | 61 6c 6c 79 20 70 6c 61 |rs - usu|ally pla| |000055d0| 63 65 20 69 6e 20 63 61 | 72 64 73 20 74 6f 20 64 |ce in ca|rds to d| |000055e0| 72 61 77 20 63 6f 6c 6f | 75 72 20 65 74 63 2e 0d |raw colo|ur etc..| |000055f0| 2d 2d 20 5b 63 48 63 63 | 6f 6c 6f 72 69 7a 65 2c |-- [cHcc|olorize,| |00005600| 20 63 48 43 75 6e 43 6f | 6c 6f 72 69 7a 65 20 65 | cHCunCo|lorize e| |00005610| 74 63 20 63 6f 6e 74 61 | 69 6e 20 65 71 75 69 76 |tc conta|in equiv| |00005620| 61 6c 65 6e 74 73 2e 5d | 0d 0d 6f 6e 20 48 43 69 |alents.]|..on HCi| |00005630| 6e 69 74 0d 65 6e 64 20 | 48 43 69 6e 69 74 0d 0d |nit.end |HCinit..| |00005640| 6f 6e 20 48 43 75 6e 49 | 6e 69 74 0d 65 6e 64 20 |on HCunI|nit.end | |00005650| 48 43 75 6e 49 6e 69 74 | 0d 0d 6f 6e 20 48 43 63 |HCunInit|..on HCc| |00005660| 6f 6c 6f 72 69 7a 65 20 | 2d 2d 20 64 65 66 61 75 |olorize |-- defau| |00005670| 6c 74 20 69 73 20 65 72 | 61 73 65 20 63 6f 6c 6f |lt is er|ase colo| |00005680| 75 72 20 73 63 72 65 65 | 6e 0d 43 6f 6c 6f 72 69 |ur scree|n.Colori| |00005690| 7a 65 48 43 20 22 45 72 | 61 73 65 22 0d 65 6e 64 |zeHC "Er|ase".end| |000056a0| 20 48 43 63 6f 6c 6f 72 | 69 7a 65 0d 0d 6f 6e 20 | HCcolor|ize..on | |000056b0| 48 43 75 6e 43 6f 6c 6f | 72 69 7a 65 20 2d 2d 20 |HCunColo|rize -- | |000056c0| 73 65 74 20 63 75 72 73 | 6f 72 20 74 6f 20 73 68 |set curs|or to sh| |000056d0| 6f 77 20 61 63 74 69 6f | 6e 2c 20 61 6e 64 20 6c |ow actio|n, and l| |000056e0| 6f 63 6b 20 73 63 72 65 | 65 6e 0d 67 6c 6f 62 61 |ock scre|en.globa| |000056f0| 6c 20 67 48 43 4f 70 74 | 69 6f 6e 73 0d 69 66 20 |l gHCOpt|ions.if | |00005700| 63 68 61 72 20 31 31 20 | 6f 66 20 67 48 43 6f 70 |char 11 |of gHCop| |00005710| 74 69 6f 6e 73 20 ad 20 | 31 20 74 68 65 6e 20 73 |tions . |1 then s| |00005720| 65 74 20 74 68 65 20 63 | 75 72 73 6f 72 20 74 6f |et the c|ursor to| |00005730| 20 77 61 74 63 68 0d 69 | 66 20 6e 6f 74 20 74 68 | watch.i|f not th| |00005740| 65 20 6c 6f 63 6b 53 63 | 72 65 65 6e 20 74 68 65 |e lockSc|reen the| |00005750| 6e 20 6c 6f 63 6b 20 73 | 63 72 65 65 6e 0d 65 6e |n lock s|creen.en| |00005760| 64 20 48 43 75 6e 43 6f | 6c 6f 72 69 7a 65 0d 0d |d HCunCo|lorize..| |00005770| 6f 6e 20 48 43 62 57 68 | 69 74 65 0d 65 6e 64 20 |on HCbWh|ite.end | |00005780| 48 43 62 57 68 69 74 65 | 0d 0d 6f 6e 20 48 43 75 |HCbWhite|..on HCu| |00005790| 6e 42 57 68 69 74 65 0d | 48 43 75 6e 43 6f 6c 6f |nBWhite.|HCunColo| |000057a0| 72 69 7a 65 0d 65 6e 64 | 20 48 43 75 6e 42 57 68 |rize.end| HCunBWh| |000057b0| 69 74 65 0d 0d 6f 6e 20 | 48 43 70 72 65 47 72 61 |ite..on |HCpreGra| |000057c0| 70 68 69 63 0d 65 6e 64 | 20 48 43 70 72 65 47 72 |phic.end| HCpreGr| |000057d0| 61 70 68 69 63 0d 0d 6f | 6e 20 48 43 67 72 61 70 |aphic..o|n HCgrap| |000057e0| 68 69 63 0d 65 6e 64 20 | 48 43 67 72 61 70 68 69 |hic.end |HCgraphi| |000057f0| 63 0d 0d 6f 6e 20 48 43 | 75 6e 47 72 61 70 68 69 |c..on HC|unGraphi| |00005800| 63 0d 65 6e 64 20 48 43 | 55 6e 47 72 61 70 68 69 |c.end HC|UnGraphi| |00005810| 63 0d 0d 2d 2d 20 6d 69 | 73 63 20 68 65 6c 70 0d |c..-- mi|sc help.| |00005820| 0d 66 75 6e 63 74 69 6f | 6e 20 63 48 43 63 6f 72 |.functio|n cHCcor| |00005830| 72 65 63 74 20 70 6f 73 | 2c 43 6f 72 72 65 63 74 |rect pos|,Correct| |00005840| 69 6f 6e 0d 69 66 20 43 | 6f 72 72 65 63 74 69 6f |ion.if C|orrectio| |00005850| 6e 20 ad 20 65 6d 70 74 | 79 20 74 68 65 6e 0d 72 |n . empt|y then.r| |00005860| 65 70 65 61 74 20 77 69 | 74 68 20 69 20 3d 20 31 |epeat wi|th i = 1| |00005870| 20 74 6f 20 74 68 65 20 | 6e 75 6d 62 65 72 20 6f | to the |number o| |00005880| 66 20 69 74 65 6d 73 20 | 6f 66 20 70 6f 73 0d 61 |f items |of pos.a| |00005890| 64 64 20 69 74 65 6d 20 | 69 20 6f 66 20 43 6f 72 |dd item |i of Cor| |000058a0| 72 65 63 74 69 6f 6e 20 | 74 6f 20 69 74 65 6d 20 |rection |to item | |000058b0| 69 20 6f 66 20 70 6f 73 | 0d 65 6e 64 20 72 65 70 |i of pos|.end rep| |000058c0| 65 61 74 0d 65 6e 64 20 | 69 66 0d 72 65 74 75 72 |eat.end |if.retur| |000058d0| 6e 20 70 6f 73 0d 65 6e | 64 20 63 48 43 63 6f 72 |n pos.en|d cHCcor| |000058e0| 72 65 63 74 0d 0d 2d 2d | 20 62 75 74 74 6f 6e 20 |rect..--| button | |000058f0| 61 69 64 73 0d 0d 6f 6e | 20 63 48 43 6d 6f 75 73 |aids..on| cHCmous| |00005900| 65 44 6f 77 6e 20 70 6f | 73 2c 55 70 42 6d 61 70 |eDown po|s,UpBmap| |00005910| 2c 44 6f 77 6e 42 6d 61 | 70 2c 43 6f 72 72 65 63 |,DownBma|p,Correc| |00005920| 74 69 6f 6e 2c 48 69 4c | 69 74 65 42 57 0d 69 66 |tion,HiL|iteBW.if| |00005930| 20 74 68 65 20 61 75 74 | 6f 48 69 6c 69 74 65 20 | the aut|oHilite | |00005940| 6f 66 20 54 61 72 67 65 | 74 20 2d 2d 20 6d 65 73 |of Targe|t -- mes| |00005950| 73 65 73 20 75 70 20 63 | 6f 6c 6f 75 72 2c 20 64 |ses up c|olour, d| |00005960| 65 66 61 75 6c 74 20 66 | 6f 72 20 42 57 0d 74 68 |efault f|or BW.th| |00005970| 65 6e 20 65 78 69 74 20 | 63 48 43 6d 6f 75 73 65 |en exit |cHCmouse| |00005980| 44 6f 77 6e 0d 67 6c 6f | 62 61 6c 20 67 4f 6b 54 |Down.glo|bal gOkT| |00005990| 6f 43 6f 6c 6f 72 69 7a | 65 0d 70 75 74 20 28 67 |oColoriz|e.put (g| |000059a0| 4f 6b 54 6f 43 6f 6c 6f | 72 69 7a 65 20 ad 20 65 |OkToColo|rize . e| |000059b0| 6d 70 74 79 29 20 6f 72 | 20 28 55 70 42 6d 61 70 |mpty) or| (UpBmap| |000059c0| 20 3d 20 65 6d 70 74 79 | 29 20 6f 72 20 c2 0d 28 | = empty|) or ..(| |000059d0| 44 6f 77 6e 42 6d 61 70 | 20 3d 20 65 6d 70 74 79 |DownBmap| = empty| |000059e0| 29 20 69 6e 74 6f 20 64 | 6f 42 57 0d 69 66 20 64 |) into d|oBW.if d| |000059f0| 6f 42 57 20 61 6e 64 20 | 48 69 4c 69 74 65 42 57 |oBW and |HiLiteBW| |00005a00| 20 3d 20 46 61 6c 73 65 | 20 2d 2d 20 75 73 65 20 | = False| -- use | |00005a10| 28 6e 6f 74 20 61 75 74 | 6f 48 69 6c 69 74 65 29 |(not aut|oHilite)| |00005a20| 20 64 65 66 61 75 6c 74 | 0d 74 68 65 6e 20 65 78 | default|.then ex| |00005a30| 69 74 20 63 48 43 6d 6f | 75 73 65 44 6f 77 6e 0d |it cHCmo|useDown.| |00005a40| 69 66 20 6e 6f 74 20 64 | 6f 42 57 20 74 68 65 6e |if not d|oBW then| |00005a50| 0d 69 66 20 70 6f 73 20 | 3d 20 65 6d 70 74 79 20 |.if pos |= empty | |00005a60| 74 68 65 6e 20 70 75 74 | 20 74 6f 70 4c 65 66 74 |then put| topLeft| |00005a70| 20 6f 66 20 74 68 65 20 | 74 61 72 67 65 74 20 69 | of the |target i| |00005a80| 6e 74 6f 20 70 6f 73 0d | 69 66 20 43 6f 72 72 65 |nto pos.|if Corre| |00005a90| 63 74 69 6f 6e 20 ad 20 | 65 6d 70 74 79 0d 74 68 |ction . |empty.th| |00005aa0| 65 6e 20 70 75 74 20 63 | 48 43 63 6f 72 72 65 63 |en put c|HCcorrec| |00005ab0| 74 28 70 6f 73 2c 43 6f | 72 72 65 63 74 69 6f 6e |t(pos,Co|rrection| |00005ac0| 29 20 69 6e 74 6f 20 70 | 6f 73 0d 65 6e 64 20 69 |) into p|os.end i| |00005ad0| 66 0d 70 75 74 20 46 61 | 6c 73 65 20 69 6e 74 6f |f.put Fa|lse into| |00005ae0| 20 49 73 49 6e 4d 65 0d | 72 65 70 65 61 74 20 75 | IsInMe.|repeat u| |00005af0| 6e 74 69 6c 20 74 68 65 | 20 6d 6f 75 73 65 20 3d |ntil the| mouse =| |00005b00| 20 75 70 0d 69 66 20 28 | 74 68 65 20 6d 6f 75 73 | up.if (|the mous| |00005b10| 65 4c 6f 63 20 69 73 20 | 77 69 74 68 69 6e 20 74 |eLoc is |within t| |00005b20| 68 65 20 72 65 63 74 20 | 6f 66 20 74 68 65 20 74 |he rect |of the t| |00005b30| 61 72 67 65 74 29 20 74 | 68 65 6e 0d 69 66 20 49 |arget) t|hen.if I| |00005b40| 73 49 6e 4d 65 20 ad 20 | 54 72 75 65 20 74 68 65 |sInMe . |True the| |00005b50| 6e 0d 69 66 20 6e 6f 74 | 20 64 6f 42 57 20 74 68 |n.if not| doBW th| |00005b60| 65 6e 0d 63 6f 6c 6f 72 | 69 7a 65 48 43 20 22 61 |en.color|izeHC "a| |00005b70| 64 64 22 2c 44 6f 77 6e | 42 6d 61 70 2c 70 6f 73 |dd",Down|Bmap,pos| |00005b80| 0d 69 66 20 74 68 65 20 | 72 65 73 75 6c 74 20 ad |.if the |result .| |00005b90| 20 65 6d 70 74 79 20 74 | 68 65 6e 20 63 48 43 65 | empty t|hen cHCe| |00005ba0| 72 72 6f 72 20 74 68 65 | 20 72 65 73 75 6c 74 0d |rror the| result.| |00005bb0| 63 48 43 73 68 6f 77 43 | 6f 6c 6f 72 20 54 72 75 |cHCshowC|olor Tru| |00005bc0| 65 0d 65 6c 73 65 20 73 | 65 74 20 74 68 65 20 68 |e.else s|et the h| |00005bd0| 69 6c 69 74 65 20 6f 66 | 20 74 68 65 20 74 61 72 |ilite of| the tar| |00005be0| 67 65 74 20 74 6f 20 54 | 72 75 65 0d 70 75 74 20 |get to T|rue.put | |00005bf0| 54 72 75 65 20 69 6e 74 | 6f 20 49 73 49 6e 4d 65 |True int|o IsInMe| |00005c00| 0d 65 6e 64 20 69 66 0d | 65 6c 73 65 0d 69 66 20 |.end if.|else.if | |00005c10| 49 73 49 6e 4d 65 20 ad | 20 46 61 6c 73 65 20 74 |IsInMe .| False t| |00005c20| 68 65 6e 0d 69 66 20 6e | 6f 74 20 64 6f 42 57 20 |hen.if n|ot doBW | |00005c30| 74 68 65 6e 0d 63 6f 6c | 6f 72 69 7a 65 48 43 20 |then.col|orizeHC | |00005c40| 22 61 64 64 22 2c 55 70 | 42 4d 61 70 2c 70 6f 73 |"add",Up|BMap,pos| |00005c50| 0d 69 66 20 74 68 65 20 | 72 65 73 75 6c 74 20 ad |.if the |result .| |00005c60| 20 65 6d 70 74 79 20 74 | 68 65 6e 0d 73 65 6e 64 | empty t|hen.send| |00005c70| 20 22 63 48 43 65 72 72 | 6f 72 22 20 26 26 20 71 | "cHCerr|or" && q| |00005c80| 75 6f 74 65 20 26 20 74 | 68 65 20 72 65 73 75 6c |uote & t|he resul| |00005c90| 74 20 26 20 71 75 6f 74 | 65 20 74 6f 20 63 64 0d |t & quot|e to cd.| |00005ca0| 65 6e 64 20 69 66 0d 63 | 48 43 73 68 6f 77 43 6f |end if.c|HCshowCo| |00005cb0| 6c 6f 72 20 54 72 75 65 | 0d 65 6c 73 65 20 73 65 |lor True|.else se| |00005cc0| 74 20 74 68 65 20 68 69 | 6c 69 74 65 20 6f 66 20 |t the hi|lite of | |00005cd0| 74 68 65 20 74 61 72 67 | 65 74 20 74 6f 20 66 61 |the targ|et to fa| |00005ce0| 6c 73 65 0d 70 75 74 20 | 46 61 6c 73 65 20 69 6e |lse.put |False in| |00005cf0| 74 6f 20 49 73 49 6e 4d | 65 0d 65 6e 64 20 69 66 |to IsInM|e.end if| |00005d00| 0d 65 6e 64 20 69 66 0d | 65 6e 64 20 72 65 70 65 |.end if.|end repe| |00005d10| 61 74 0d 65 6e 64 20 63 | 48 43 6d 6f 75 73 65 44 |at.end c|HCmouseD| |00005d20| 6f 77 6e 0d 0d 66 75 6e | 63 74 69 6f 6e 20 63 48 |own..fun|ction cH| |00005d30| 43 6d 6f 75 73 65 55 70 | 20 70 6f 73 2c 55 70 42 |CmouseUp| pos,UpB| |00005d40| 6d 61 70 2c 43 6f 72 72 | 65 63 74 69 6f 6e 2c 48 |map,Corr|ection,H| |00005d50| 69 6c 69 74 65 42 57 0d | 69 66 20 6e 6f 74 20 28 |iliteBW.|if not (| |00005d60| 74 68 65 20 6d 6f 75 73 | 65 4c 6f 63 20 69 73 20 |the mous|eLoc is | |00005d70| 77 69 74 68 69 6e 20 74 | 68 65 20 72 65 63 74 20 |within t|he rect | |00005d80| 6f 66 20 74 68 65 20 74 | 61 72 67 65 74 29 0d 74 |of the t|arget).t| |00005d90| 68 65 6e 20 72 65 74 75 | 72 6e 20 46 61 6c 73 65 |hen retu|rn False| |00005da0| 0d 65 6c 73 65 0d 67 6c | 6f 62 61 6c 20 67 4f 6b |.else.gl|obal gOk| |00005db0| 54 6f 43 6f 6c 6f 72 69 | 7a 65 0d 69 66 20 28 67 |ToColori|ze.if (g| |00005dc0| 4f 6b 54 6f 43 6f 6c 6f | 72 69 7a 65 20 3d 20 65 |OkToColo|rize = e| |00005dd0| 6d 70 74 79 29 20 61 6e | 64 20 28 55 70 42 6d 61 |mpty) an|d (UpBma| |00005de0| 70 20 ad 20 65 6d 70 74 | 79 29 20 74 68 65 6e 0d |p . empt|y) then.| |00005df0| 69 66 20 70 6f 73 20 3d | 20 65 6d 70 74 79 20 74 |if pos =| empty t| |00005e00| 68 65 6e 20 70 75 74 20 | 74 6f 70 4c 65 66 74 20 |hen put |topLeft | |00005e10| 6f 66 20 74 68 65 20 74 | 61 72 67 65 74 20 69 6e |of the t|arget in| |00005e20| 74 6f 20 70 6f 73 0d 69 | 66 20 43 6f 72 72 65 63 |to pos.i|f Correc| |00005e30| 74 69 6f 6e 20 ad 20 65 | 6d 70 74 79 0d 74 68 65 |tion . e|mpty.the| |00005e40| 6e 20 70 75 74 20 63 48 | 43 63 6f 72 72 65 63 74 |n put cH|Ccorrect| |00005e50| 28 70 6f 73 2c 43 6f 72 | 72 65 63 74 69 6f 6e 29 |(pos,Cor|rection)| |00005e60| 20 69 6e 74 6f 20 70 6f | 73 0d 63 6f 6c 6f 72 69 | into po|s.colori| |00005e70| 7a 65 48 43 20 22 61 64 | 64 22 2c 55 70 42 4d 61 |zeHC "ad|d",UpBMa| |00005e80| 70 2c 70 6f 73 0d 69 66 | 20 74 68 65 20 72 65 73 |p,pos.if| the res| |00005e90| 75 6c 74 20 ad 20 65 6d | 70 74 79 20 74 68 65 6e |ult . em|pty then| |00005ea0| 0d 73 65 6e 64 20 22 63 | 48 43 65 72 72 6f 72 22 |.send "c|HCerror"| |00005eb0| 20 26 26 20 71 75 6f 74 | 65 20 26 20 74 68 65 20 | && quot|e & the | |00005ec0| 72 65 73 75 6c 74 20 26 | 20 71 75 6f 74 65 20 74 |result &| quote t| |00005ed0| 6f 20 63 64 0d 65 6e 64 | 20 69 66 0d 63 48 43 73 |o cd.end| if.cHCs| |00005ee0| 68 6f 77 43 6f 6c 6f 72 | 20 54 72 75 65 0d 65 6c |howColor| True.el| |00005ef0| 73 65 20 69 66 20 48 69 | 6c 69 74 65 42 57 20 ad |se if Hi|liteBW .| |00005f00| 20 66 61 6c 73 65 20 2d | 2d 20 69 66 20 48 69 6c | false -|- if Hil| |00005f10| 69 74 65 42 57 20 69 73 | 20 66 61 6c 73 65 2c 20 |iteBW is| false, | |00005f20| 6c 65 61 76 65 20 61 6c | 6f 6e 65 21 0d 74 68 65 |leave al|one!.the| |00005f30| 6e 20 73 65 74 20 74 68 | 65 20 68 69 6c 69 74 65 |n set th|e hilite| |00005f40| 20 6f 66 20 74 68 65 20 | 74 61 72 67 65 74 20 74 | of the |target t| |00005f50| 6f 20 46 61 6c 73 65 0d | 72 65 74 75 72 6e 20 54 |o False.|return T| |00005f60| 72 75 65 0d 65 6e 64 20 | 69 66 0d 65 6e 64 20 63 |rue.end |if.end c| |00005f70| 48 43 6d 6f 75 73 65 55 | 70 0d 0d 66 75 6e 63 74 |HCmouseU|p..funct| |00005f80| 69 6f 6e 20 63 48 43 62 | 75 74 74 46 6c 61 67 73 |ion cHCb|uttFlags| |00005f90| 20 66 6c 61 67 73 0d 2d | 2d 20 74 75 72 6e 20 72 | flags.-|- turn r| |00005fa0| 65 61 64 61 62 6c 65 20 | 65 71 75 69 76 20 6f 66 |eadable |equiv of| |00005fb0| 20 63 48 43 69 6e 69 74 | 46 6c 61 67 73 20 69 6e | cHCinit|Flags in| |00005fc0| 74 6f 20 63 6f 6d 70 72 | 65 73 73 65 64 20 66 6f |to compr|essed fo| |00005fd0| 72 6d 0d 67 65 74 20 6f | 66 66 73 65 74 28 22 49 |rm.get o|ffset("I| |00005fe0| 3d 22 2c 66 6c 61 67 73 | 29 20 2d 2d 20 49 63 6f |=",flags|) -- Ico| |00005ff0| 6e 20 73 65 74 74 69 6e | 67 0d 69 66 20 69 74 20 |n settin|g.if it | |00006000| 3d 20 30 20 74 68 65 6e | 20 70 75 74 20 22 20 22 |= 0 then| put " "| |00006010| 20 69 6e 74 6f 20 72 65 | 73 75 6c 74 20 2d 2d 20 | into re|sult -- | |00006020| 63 68 61 72 20 31 0d 65 | 6c 73 65 20 70 75 74 20 |char 1.e|lse put | |00006030| 63 68 61 72 20 28 69 74 | 2b 32 29 20 6f 66 20 66 |char (it|+2) of f| |00006040| 6c 61 67 73 20 69 6e 74 | 6f 20 72 65 73 75 6c 74 |lags int|o result| |00006050| 0d 0d 67 65 74 20 6f 66 | 66 73 65 74 28 22 4e 3d |..get of|fset("N=| |00006060| 22 2c 66 6c 61 67 73 29 | 20 2d 2d 20 4e 61 6d 65 |",flags)| -- Name| |00006070| 20 73 65 74 74 69 6e 67 | 0d 69 66 20 69 74 20 3d | setting|.if it =| |00006080| 20 30 20 74 68 65 6e 20 | 70 75 74 20 22 20 22 20 | 0 then |put " " | |00006090| 61 66 74 65 72 20 72 65 | 73 75 6c 74 20 2d 2d 20 |after re|sult -- | |000060a0| 63 68 61 72 20 32 0d 65 | 6c 73 65 20 70 75 74 20 |char 2.e|lse put | |000060b0| 63 68 61 72 20 28 69 74 | 2b 32 29 20 6f 66 20 66 |char (it|+2) of f| |000060c0| 6c 61 67 73 20 61 66 74 | 65 72 20 72 65 73 75 6c |lags aft|er resul| |000060d0| 74 0d 0d 67 65 74 20 6f | 66 66 73 65 74 28 22 4f |t..get o|ffset("O| |000060e0| 3d 22 2c 66 6c 61 67 73 | 29 20 2d 2d 20 4f 75 74 |=",flags|) -- Out| |000060f0| 6c 69 6e 65 20 73 65 74 | 74 69 6e 67 0d 69 66 20 |line set|ting.if | |00006100| 69 74 20 3d 20 30 20 74 | 68 65 6e 20 70 75 74 20 |it = 0 t|hen put | |00006110| 22 20 22 20 61 66 74 65 | 72 20 72 65 73 75 6c 74 |" " afte|r result| |00006120| 20 2d 2d 20 63 68 61 72 | 20 33 0d 65 6c 73 65 20 | -- char| 3.else | |00006130| 70 75 74 20 63 68 61 72 | 20 28 69 74 2b 32 29 20 |put char| (it+2) | |00006140| 6f 66 20 66 6c 61 67 73 | 20 61 66 74 65 72 20 72 |of flags| after r| |00006150| 65 73 75 6c 74 0d 0d 72 | 65 74 75 72 6e 20 72 65 |esult..r|eturn re| |00006160| 73 75 6c 74 0d 65 6e 64 | 20 63 48 43 62 75 74 74 |sult.end| cHCbutt| |00006170| 46 6c 61 67 73 0d 0d 6f | 6e 20 63 48 43 69 6e 69 |Flags..o|n cHCini| |00006180| 74 42 75 74 74 6f 6e 20 | 73 68 6f 77 49 74 2c 20 |tButton |showIt, | |00006190| 66 6c 61 67 73 2c 20 49 | 63 6e 2c 20 70 6f 73 2c |flags, I|cn, pos,| |000061a0| 20 55 70 42 4d 61 70 2c | 20 43 6f 72 72 65 63 74 | UpBMap,| Correct| |000061b0| 69 6f 6e 2c 20 6f 75 74 | 6c 69 6e 65 53 74 79 6c |ion, out|lineStyl| |000061c0| 65 0d 2d 2d 20 64 65 66 | 61 75 6c 74 73 3a 20 73 |e.-- def|aults: s| |000061d0| 68 6f 77 49 74 20 46 61 | 6c 73 65 2c 20 70 6f 73 |howIt Fa|lse, pos| |000061e0| 20 74 6f 70 4c 65 66 74 | 20 6f 66 20 74 61 72 67 | topLeft| of targ| |000061f0| 65 74 2c 20 43 6f 72 72 | 65 63 74 69 6f 6e 20 6e |et, Corr|ection n| |00006200| 6f 74 68 69 6e 67 2c 0d | 2d 2d 20 66 6c 61 67 73 |othing,.|-- flags| |00006210| 3a 20 49 3d 4e 65 76 65 | 72 2c 4f 3d 4e 65 76 65 |: I=Neve|r,O=Neve| |00006220| 72 2c 4e 3d 4e 65 76 65 | 72 20 2c 20 6f 75 74 6c |r,N=Neve|r , outl| |00006230| 69 6e 65 53 74 79 6c 65 | 3a 20 72 65 63 74 61 6e |ineStyle|: rectan| |00006240| 67 6c 65 2c 20 49 63 6f | 6e 3a 20 6e 6f 6e 65 0d |gle, Ico|n: none.| |00006250| 0d 69 66 20 73 68 6f 77 | 49 74 20 3d 20 46 61 6c |.if show|It = Fal| |00006260| 73 65 20 74 68 65 6e 0d | 68 69 64 65 20 74 68 65 |se then.|hide the| |00006270| 20 74 61 72 67 65 74 0d | 65 6c 73 65 20 69 66 20 | target.|else if | |00006280| 73 68 6f 77 49 74 20 3d | 20 22 46 6f 72 63 65 22 |showIt =| "Force"| |00006290| 20 74 68 65 6e 0d 63 48 | 43 66 6f 72 63 65 42 75 | then.cH|CforceBu| |000062a0| 74 74 6f 6e 20 66 6c 61 | 67 73 2c 49 63 6e 2c 70 |tton fla|gs,Icn,p| |000062b0| 6f 73 2c 55 70 42 4d 61 | 70 2c 43 6f 72 72 65 63 |os,UpBMa|p,Correc| |000062c0| 74 69 6f 6e 2c 6f 75 74 | 6c 69 6e 65 53 74 79 6c |tion,out|lineStyl| |000062d0| 65 0d 65 6c 73 65 0d 67 | 6c 6f 62 61 6c 20 67 4f |e.else.g|lobal gO| |000062e0| 6b 54 6f 43 6f 6c 6f 72 | 69 7a 65 0d 70 75 74 20 |kToColor|ize.put | |000062f0| 67 4f 6b 54 6f 43 6f 6c | 6f 72 69 7a 65 20 ad 20 |gOkToCol|orize . | |00006300| 65 6d 70 74 79 20 6f 72 | 20 55 70 42 4d 61 70 20 |empty or| UpBMap | |00006310| 3d 20 65 6d 70 74 79 20 | 69 6e 74 6f 20 42 57 0d |= empty |into BW.| |00006320| 0d 69 66 20 66 6c 61 67 | 73 20 63 6f 6e 74 61 69 |.if flag|s contai| |00006330| 6e 73 20 22 3d 22 20 74 | 68 65 6e 20 70 75 74 20 |ns "=" t|hen put | |00006340| 63 48 43 62 75 74 74 46 | 6c 61 67 73 28 66 6c 61 |cHCbuttF|lags(fla| |00006350| 67 73 29 20 69 6e 74 6f | 20 66 6c 61 67 73 0d 0d |gs) into| flags..| |00006360| 2d 2d 20 69 6e 20 77 68 | 61 74 20 66 6f 6c 6c 6f |-- in wh|at follo| |00006370| 77 73 20 77 65 20 61 73 | 73 75 6d 65 20 74 68 61 |ws we as|sume tha| |00006380| 74 20 63 48 43 69 6e 69 | 74 42 75 74 74 6f 6e 20 |t cHCini|tButton | |00006390| 73 65 74 20 74 68 65 20 | 62 75 74 74 6f 6e 0d 2d |set the |button.-| |000063a0| 2d 20 62 65 66 6f 72 65 | 2c 20 61 6e 64 20 74 68 |- before|, and th| |000063b0| 75 73 20 6f 6e 6c 79 20 | 42 57 20 63 68 61 6e 67 |us only |BW chang| |000063c0| 65 73 20 2d 20 6f 6e 6c | 79 20 6e 65 65 64 20 74 |es - onl|y need t| |000063d0| 6f 20 61 64 64 72 65 73 | 73 20 42 27 73 0d 0d 69 |o addres|s B's..i| |000063e0| 66 20 42 57 20 74 68 65 | 6e 0d 69 66 20 63 68 61 |f BW the|n.if cha| |000063f0| 72 20 33 20 6f 66 20 66 | 6c 61 67 73 20 3d 20 22 |r 3 of f|lags = "| +--------+-------------------------+-------------------------+--------+--------+ Only 25.0 KB of data is shown above.